查找阵列中最大的元素
问题描述:
我试图编写一个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);
答
好,@elclanrs表示,在注释中已经,但是...
您可以使用Math.max
,这需要各种数目的数字作为参数。但是Math.max
不会将数组作为参数,所以我们使用Function.prototype.apply
来传递数组中的每个元素作为单独的参数。
Math.max.apply(Math, [3, 6, 2, 56, 32, 5, 89, 32]);
注:申请的第一个参数是到的上下文对象将执行该功能时可以设置的对象。换句话说,它指定了this
的值。在这种情况下,它可能是null
,它不会有任何区别。
至于你的初始代码,你有一些语法错误,你应该lint你的代码。
答
像@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
'Math.max.apply(0,数组)// 89' – elclanrs
'0 alfasin
或Math.max(0,150,30,20,38); cocco