JavaScript堆内存不足(Nodejs)

时间:2018-02-25 08:52:07

标签: javascript node.js

我有一个问题,我的Java脚本内存不足,我不知道为什么。 当我启动代码时,内存使用率跃升至近2gB。 目前,如果我评论我的代码的这部分,它工作正常:

var way = [];
for(var x = 0;x<=way1.length > way2.length?way1.length:way2.length;x++){
    way.push(way1[x]);
    way.push(way2[x]);
}

否则会崩溃。

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

循环中的表达式不符合您的想法。

x <= way1.length > way2.length? way1.length : way2.length

你可能意味着什么

x <= (way1.length > way2.length? way1.length : way2.length)

实际上

(x <= way1.length > way2.length) ? way1.length : way2.length

总是返回相同的数字。 way1.length或way2.length - 总是如此。循环无限。

答案 1 :(得分:1)

您的情况非常混乱,很可能产生错误的结果,也许您应该这样做

var way = [];
for(var x = 0, length = Math.max(way1.length, way2.length); x <= length; x++){
    way.push(way1[x]);
    way.push(way2[x]);
}

答案 2 :(得分:0)

首先简化循环条件,我认为条件使你的程序内存不足