用于从数组中查找最大值的JavaScript代码

时间:2014-10-27 03:37:16

标签: javascript

我试图从我编写的代码中获取打印声明,但我不知道它为什么不打印任何内容。

    var max = 0;
    var i;
    var array=new array [5];

    i=prompt("Enter 5 numbers to find the max");
    i=parseFloat(i);

    for(i=0;i<array.length;i++){
    if (array[i]>max)
    max=array[i];}

    alert("your highest number is " + max );        
    document.write("max = " + max);

4 个答案:

答案 0 :(得分:1)

您的数组永远不会收到值。他们要去i变量。此外,提示不会将输入的数据存储为数组。你必须循环它。

var array=new array [5];

for (var i = 0; i < array.length; i++)
     array.push(prompt("Enter 5 numbers to find the max"));

array.sort();

alert("your highest number is " + array[0] );        
document.write("max = " + array[0]);

我不知道这是否有效,但它接近你想要的目标。

答案 1 :(得分:0)

试试这个

var max = 0;
var i;
var array=[];
for(i=0;i<5;i++){
var number=prompt("Enter 5 numbers to find the max");
number=parseFloat(number);
if(number>max)
 max=number;
 // if you need to hold the value
 array.push(number);
}


alert("your highest number is " + max );        
document.write("max = " + max);

答案 2 :(得分:0)

这是解决方案的解决方案 http://jsfiddle.net/dr7g5qLg/

了解这是OP的第一次尝试,但正如许多海报所说,尝试阅读更多的Javascript示例和书籍。数组处理和操作是编程的基础,这里的主要问题是OP缺乏对如何在Javascript中填充数组的理解。

var max = 5;
var i;
var array=new Array();

// Populate your array
for(i=1; i <= max; i++){
    array[i]=prompt("Enter "+i+" of "+max+" numbers to find the max");
}

// Sort the array in descending order
// basically pass in an anonymous function to determine sort order
array.sort(function(a, b){return b-a});

// After sorting, the first element of the array contains your max value
var determined_max = array[0];

alert("your highest number is " + determined_max );

答案 3 :(得分:0)

您可以在不使用数组的情况下实现它,如下所示:

<script>
    var max = 0;
    var inputVal;

    for(var i=0;i<5;i++)
    {
         inputVal=prompt("Enter "+(i+1)+" of 5 numbers to find the max");
           if (inputVal>max)
                 max=inputVal;
    }

    alert("your highest number is " + max );        
    document.write("max = " + max);

</script>