Javascript node.js中的日期数组-我有一个错误:RangeError:超出了最大调用堆栈大小
你能帮我让这段代码处理超过10万个条目吗Javascript node.js中的日期数组-我有一个错误:RangeError:超出了最大调用堆栈大小,javascript,node.js,Javascript,Node.js,你能帮我让这段代码处理超过10万个条目吗 var maxDate = new Date(Math.max.apply(null, dates)); var minDate = new Date(Math.min.apply(null, dates)); 目前我有一个错误RangeError:超过了最大调用堆栈大小 感谢您的帮助我认为,您的日期数组不正确; 您可以检查以下代码: var日期=[]; 对于(var i=0;i我认为这是一个递归问题。 递归中使用的堆栈似乎有一个最大大小,这
var maxDate = new Date(Math.max.apply(null, dates));
var minDate = new Date(Math.min.apply(null, dates));
目前我有一个错误RangeError:超过了最大调用堆栈大小
感谢您的帮助我认为,您的日期数组不正确; 您可以检查以下代码:
var日期=[];
对于(var i=0;i我认为这是一个递归问题。
递归中使用的堆栈似乎有一个最大大小,这就是为什么Math.min和Math.max对于大型数组最有可能崩溃的原因,因为它们都是递归操作
相反,您可以使用旧的javascript循环,如下所示:
function getMax(arr) {
return arr.reduce((max, v) => max >= v ? max : v, -Infinity);
}
或
(第二个快得多)你能分享更多的代码或者你到目前为止尝试过的东西吗?。谢谢你的回答,但它适用于小数组。这是一个递归问题,就像拉明说的那样
function getMax(arr) {
let len = arr.length;
let max = -Infinity;
while (len--) {
max = arr[len] > max ? arr[len] : max;
}
return max;
}