为什么这个循环只能工作一次

时间:2013-06-06 09:58:29

标签: javascript

我无法弄清楚为什么这只会在JavaScript中循环遍历数组一次。它也应该记录第二个嵌套数组。

下面的JSFiddle和下面的代码;

http://jsfiddle.net/HJfbT/

b = [["one", "is"],
 ["two", "is"]];

for (var i = 0; i < b.length; i++) {
    for (var x = 0; x < b[x].length; x++) {
        console.log(b[i][x]);
    }  
}

3 个答案:

答案 0 :(得分:4)

因为你有一个错字:

// --- should be i ---v
for (var x = 0; x < b[x].length; x++) {

DEMO: http://jsfiddle.net/HJfbT/1/

答案 1 :(得分:0)

在第二个循环中使用b[i].length

答案 2 :(得分:0)

我认为是因为内部循环具有错误的运行条件。

时:

for (var x = 0; x < b[x].length; x++)

但必须是:

for (var x = 0; x < b[i].length; x++)