为什么发生无限循环错误?

时间:2017-09-04 14:11:33

标签: javascript arrays loops

我无法理解为什么会说它会创造一个无限循环。它似乎不会。它会出现什么问题?

function smallestCommons(arr) {

    var max = arr.reduce(function (a, b) {
        return Math.max(a, b);
    });
    var min = arr.reduce(function (a, b) {
        return Math.min(a, b);
    });
    var allNums = [];
    for (var i = min; i <= max; i++) {
        for (var j = 1; j <= (max ^ 3); i++) {
            allNums.push(i * j);
        }
    }

}


smallestCommons([1, 6]);

4 个答案:

答案 0 :(得分:3)

for(var j=1;j<=(max^3);i++)

应该是

for(var j=1;j<=(max^3);j++)

答案 1 :(得分:2)

j似乎永远不会增加,因此它始终与j<=(max^3)循环中for中的条件匹配。

我认为有一个错字:

for(var j=1;j<=(max^3);i++) {

应该是

for (var j=1; j <= (max^3); j++) {

答案 2 :(得分:0)

您必须将for(var j = 1 ; j <= (max^3) ; i++)
更改为
for(var j = 1 ; j <= (max^3) ; j++)

答案 3 :(得分:0)

你的嵌套for循环永远不会增加你的var j。

for (var i = min; i <= max; i++) {
        for (var j = 1; j <= (max ^ 3); j++) {
            allNums.push(i * j);
        }
    }