如何从一个非常大的JavaScript数组中轻松获取最小值和最大值(例如25万个数字)?
我尝试使用此方法,但它不起作用:JavaScript: min & max Array values?
我在VisualStudio中调试我没有收到任何错误,而在浏览器中我得到了#34;超出最大调用堆栈大小"。
示例代码:
var max = Math.max.apply(-Infinity, arr);
var min = Math.min.apply(Infinity, arr);
" ARR"是我非常大的阵容。
答案 0 :(得分:-1)
它对我来说很好
var min = Math.min.apply(Math, array);
var max = Math.max.apply(Math, array);
答案 1 :(得分:-1)
对于上述尺寸的大型数组,您无法安全使用Math.min()
或Math.max()
。我相信这是应该做的。
var arr = new Array(1000000).fill().map(_=> ~~(Math.random()*10000000)),
findMax = a => a.reduce((res,cur) => res < cur ? cur : res ,-Infinity);
console.log(findMax(arr));