我有JS功能找到分钟和二维数组最大值这对小数组工作正常,但是当我将它传递大数组它给我range error
:最大调用堆栈大小超出与Math.min和Math.max
超过最大调用堆栈大小。
我使用的是最新版本的Chrome。
function MaxMin2dray(arr, idx){
return {
min: Math.min.apply(null, arr.map(function (e) { return e[idx]})),
max: Math.max.apply(null, arr.map(function (e) { return e[idx]}))
}
}
Function.prototype.apply的只能接收有限长度的数组作为它的第二个参数。您应该手动找到最小值和最大值 – Weedoze
至少,您可以优化您的函数并删除同一阵列上多余的Array.prototype.map()函数调用 – RomanPerekhrest
更准确地说:每个参数占用堆栈上的空间并传递太多任何函数的参数都会导致堆栈溢出。 – Ryan