我有一个简单的JavaScript数组对象包含几个数字。

[267, 306, 108]

有没有一个函数能找到这个数组中最大的数?


当前回答

是的,当然存在Math.max.apply(null,[23,45,67,-45]),结果是返回67。

其他回答

我刚开始使用JavaScript,但我认为这个方法会很好:

var array = [34, 23, 57, 983, 198];
var score = 0;

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

辞职拯救:

Array.max = function( array ){
    return Math.max.apply( Math, array );
};

警告:由于在某些虚拟机上参数的最大数量低至65535,如果您不确定数组有那么小,请使用for循环。

要找到数组中最大的数字,您只需要使用Math.max(…arrayName);。它是这样工作的:

let myArr = [1, 2, 3, 4, 5, 6];
console.log(Math.max(...myArr));

要了解更多关于Math.max的信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max

使用- Array.prototype.reduce()很酷!

[267, 306, 108].reduce((acc,val)=> (acc>val)?acc:val)

式中acc =累加器,val =当前值;

var a = [267, 306, 108].reduce((acc,val)=> (acc>val)?acc:val); 控制台.log(a);

最简单的语法,使用新的展开操作符:

var arr = [1, 2, 3];
var max = Math.max(...arr);

来源:Mozilla MDN