JavaScript中的嵌套循环

时间:2014-03-02 21:31:17

标签: javascript loops nested

我目前正在研究一个寻找低限和高限的问题。这两个数字将定义要计算的数字字段。我有代码找到因素,但现在我需要做外部循环才能运行列表。我理解它需要做什么,但我对编码本身有困难。 (显然,你必须贯穿从低到高的数字列表)。任何帮助都会很棒。当我尝试更新“num”变量时,我遇到了麻烦,这是一个下限,或者是那个时候要考虑的数字。

function calculate(num){
    var int = 2;    
    var num = document.getElementById("num").value;
    var high = document.getElementById("high").value;
    var str = num + ": ";


    if (num <= high){

    for (var i = 2; i <= num; i++){
        if(num % i == 0){
            str += i + ",";

        }
        num++;
    }
    document.getElementById("outputArea").innerHTML = str;
    }

}

目前,它正在给我一个只有低数的因子输出。所以,如果我输入12,它会说:

12:2,3,4,6,12

是的,我正在尝试让程序通过每个数字,包括低和高,并考虑每一个。最后,它将在textarea标签中以多行显示。

像这样:

12:2,3,4,6,12, 13:1,13 等....

1 个答案:

答案 0 :(得分:0)

我想你想做的是这样的事情:

var num = 12;
var high = 15;

var str = '';

while (num <= high) {
    str += num + ": ";
    for (var i = 1; i <= num; i++) {
        if (num % i == 0) {
            str += i + ",";
        }
    }
    str += '\n';
    num++;
    alert(str);
}

显示:

12: 1,2,3,4,6,12,
13: 1,13,
14: 1,2,7,14,
15: 1,3,5,15,

代码中主要的直接问题是num ++的错误放置

一个更大的问题是让我能够理解你认为你将用这个算法实现的目标,但这完全是另一个故事。

有关详细信息,您可能需要阅读this one等文章。