Javascript循环迭代错误

时间:2017-03-24 21:04:46

标签: javascript jquery for-loop

循环似乎没有正确迭代:

var selections = $("#primaryModal").find("select").not(".hidden");

for(var i = 0; i < selections.length; i++){
    console.log(selections.length);
    console.log("select");
    for(var i = 0; i < $(selection)[0].options.length; i++){
        console.log("option");
    }
}

上面是我的循环,以下是控制台中的结果:

enter image description here

这里似乎有什么问题?内部循环似乎有效,但外部循环只迭代一次,尽管数组长度为2。

2 个答案:

答案 0 :(得分:3)

您对两个循环使用相同的循环索引,并且未定义变量选择。尝试这样的事情:

String stringAmount = "2123123.12";
double amount = Double.parseDouble(stringAmount);
System.out.println(amount);

答案 1 :(得分:1)

您正在使用javascript。您的代码将在变量提升后转换为:

var i;
for(i = 0; i < selections.length; i++){
    console.log(selections.length);
    console.log("select");
    for(i = 0; i < $(selection)[0].options.length; i++){
        console.log("option");
    }
}

这意味着您在不同的范围内没有两个不同的变量。您应该更好地使用Robert Fines建议并更改变量名称,以便您的代码能够正常工作,并且您没有任何副作用。

var i, j; 
for(i = 0; i < selections.length; i++){
    console.log(selections.length);
    console.log("select");
    for(j = 0; j < $(selections)[i].options.length; j++){
        console.log("option");
    }
}