我的javascript循环代码给出了一个;“内存不足”;错误

我的javascript循环代码给出了一个;“内存不足”;错误,javascript,Javascript,我在学习Javascript,同时在编写循环代码,数组“tomultiply”中的每个元素都与自身和其他元素相乘,并将答案存储在数组“multiplelist”中。 但是运行我的代码总是给我一个“内存不足”的错误。 如果愿意,请更正我的代码。你最好能理解我正在采取的方法,并纠正它。多谢各位 var multiplelist = []; var tomultiply = [2, 3, 12, 8, 9]; var primary; var secondary = 0; var n = 0; for

我在学习Javascript,同时在编写循环代码,数组“tomultiply”中的每个元素都与自身和其他元素相乘,并将答案存储在数组“multiplelist”中。 但是运行我的代码总是给我一个“内存不足”的错误。 如果愿意,请更正我的代码。你最好能理解我正在采取的方法,并纠正它。多谢各位

var multiplelist = [];
var tomultiply = [2, 3, 12, 8, 9];
var primary;
var secondary = 0;
var n = 0;
for (primary = tomultiply[n] ; primary = tomultiply[tomultiply.length - 1]; primary = tomultiply[n++]) {
    for (secondary = tomultiply[n] ; secondary = tomultiply[tomultiply.length - 1]; secondary = tomultiply[n++]) {
        var operation = primary * secondary;
        multiplelist.push(operation);
    }
}
console.log(multiplelist)

应该在for循环的第二个参数中使用条件,而不是赋值

如果我理解你的代码的意图,我希望下面的代码对你有用

var multiplelist=[];
var-tomultiply=[2,3,12,8,9];
初级风险;
二级var=0;
var n=乘以长度;
for(设i=0,primary=tomultiply[0];iconsole.log(多列表)这些循环将永远运行,因为您没有设置任何结束条件。@JDunken这是除非
tommultiply[tommultiply.length-1]
包含错误的值(这可能不是他们想要做的,所以是的,您是对的:))我该怎么做?我是初学者sorry@1faiq1
=
是赋值,
=
是比较。您希望在
for
循环的
的第二个表达式中使用后者(即
primary=tommultiply[tommultiply.length-1]
实际上应该是
primary==tommultiply[tommultiply.length-1]
,但公平地说,这看起来也是可疑的)@1faiq1您也在那里赋值,但没有检查条件