我有一个问题,我的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]);
}
否则会崩溃。
感谢您的帮助。
答案 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)
首先简化循环条件,我认为条件使你的程序内存不足