Javascript node.js中的日期数组-我有一个错误:RangeError:超出了最大调用堆栈大小

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我认为这是一个递归问题。 递归中使用的堆栈似乎有一个最大大小,这

你能帮我让这段代码处理超过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我认为这是一个递归问题。 递归中使用的堆栈似乎有一个最大大小,这就是为什么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;
}