理解For-in循环

时间:2015-02-16 16:06:17

标签: javascript

这里我有一个变量,它有一个对象,其中一个值是一个对象数组 例如。

var test = { "key1": val1,
"key2": [{"a":1,
        "b":[{},{}]
        },
        {"a":1,
        "b":[{},{}]
        }]
   };    

我现在无法理解为什么下面的代码会重复两次。不应该只迭代一次因为只有1个数组元素存在吗?

代码段:

for( index in test.key2)

2 个答案:

答案 0 :(得分:4)

这是良好缩进的关键所在。

var test = {
    "key1": val1,
    "key2": [
        {
            "a":1,
            "b":[{},{}]
        },
        {
            "a":1,
            "b":[{},{}]
        }
    ]
};

在这里你可以清楚地看到它实际上有2个项目。

答案 1 :(得分:0)

因为test.key2array,有两个elements,所以它会迭代两次。

检查test.key2.length;