查找数组中的最大元素

时间:2013-08-20 21:38:13

标签: javascript loops for-loop element

我正在尝试编写 for 循环,找到数组中的最大元素,并将该元素记录到控制台。到目前为止,我得到了这个,但它不起作用。有人可以帮忙吗?

var array = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = 0;

for (var i = 0; 0 < 100; i++ ) {
    if (array[i] > largest) {
       largest = array[i]);
    }
}

console.log(largest);

3 个答案:

答案 0 :(得分:0)

将for循环更改为:

for (var i = 0; i < array.length; i++ ) {

@plalx是对的,还有一个问题,在行中:

largest = array[i]);

有一个不必要的关闭括号“)”应删除。 应用这两个更改 - 代码将起作用。

答案 1 :(得分:0)

嗯,@ elclanrs已在评论中说过,但是......

您可以使用Math.max,它会将不同数量的数字作为参数。但是Math.max不会将数组作为参数,因此我们使用Function.prototype.apply将数组中的每个元素作为单独的参数传递。

Math.max.apply(Math, [3, 6, 2, 56, 32, 5, 89, 32]);

注意:apply的第一个参数是执行函数时将设置上下文对象的对象。换句话说,它指定this的值。在这种情况下,它可能是null,它不会有任何区别。

至于您的初始代码,您有一些语法错误,您应该lint您的代码。

答案 2 :(得分:0)

像@elclanrs说的那样,你想使用内置的Math.max函数。你可以简单地写:

var array = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = Math.max.apply(null, array);

更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max