我正在尝试编写 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);
答案 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)
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