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

javascript code for finding maximum value from an array

本文关键字:javascript 代码 最大值 查找 数组 用于      更新时间:2023-09-26

我正试图从我写的这段代码中获得一个print out语句,但我不知道为什么它没有打印任何内容。

    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);

您的数组从未接收到值。它们将转到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]);

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

试用

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);

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

<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>

以下是带解释的解决方案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 );