JavaScript中数组的最大值

JavaScript中数组的最大值,javascript,arrays,node.js,ecmascript-6,Javascript,Arrays,Node.js,Ecmascript 6,给定一个值数组[1,2,0,-5,8,3],如何在JavaScript中获得最大值 我知道我可以编写一个循环并跟踪最大值,但我正在寻找一种更高效的JavaScript语法代码实现方法。您可以使用以下方法: yourArray.reduce((max, value) => {return Math.max(max, value)}); reduce将覆盖数组中的值,每次返回当前值之前所有值的最大值。您可以使用和: let数组=[1,2,0,-5,8,3]; console.log(Mat

给定一个值数组
[1,2,0,-5,8,3]
,如何在JavaScript中获得最大值


我知道我可以编写一个循环并跟踪最大值,但我正在寻找一种更高效的JavaScript语法代码实现方法。

您可以使用以下方法:

yourArray.reduce((max, value) => {return Math.max(max, value)});
reduce
将覆盖数组中的值,每次返回当前值之前所有值的最大值。

您可以使用和:

let数组=[1,2,0,-5,8,3];

console.log(Math.max(…数组));//=>8
或没有排列运算符
数学最大值应用(false,arr)
排列运算符无效。@ibrahimmahrir没有排列“运算符”。@ibrahimmahrir是吗?我测试并对抗
reduce
它有时赢有时输。此外,效率应该无关紧要,我们所说的不到1毫秒。@ibrahimmahrir
Math.max(…arr)
可能会比
Math.max.apply(null,arr)
稍慢一些,但远不及“效率低下”。整洁的JS特性几乎总是一种折衷。如果你有其他可以用数字证明的信息,请考虑在DUPE问题中提供答案。尽管这已经被讨论了无数次,新的好答案总是好的。第二个结果来自google上的“MaxofArray in javascript”^Agree,也许编辑另一个以包含armax这个词。。。来自python,这就是我在谷歌上搜索的内容,什么也没找到……我想说它有一个合理的标题。不管使用哪种语言,我都会搜索“max of array in”,但这只是我自己。或者只需
(…)=>…
进行隐式返回…还有,为什么要在存在扩展语法时执行reduce操作呢?您可能希望提供一些合理的默认值,在数组为空时返回,例如
0
-1
-Infinity