这里我有一个变量,它有一个对象,其中一个值是一个对象数组 例如。
var test = { "key1": val1,
"key2": [{"a":1,
"b":[{},{}]
},
{"a":1,
"b":[{},{}]
}]
};
我现在无法理解为什么下面的代码会重复两次。不应该只迭代一次因为只有1个数组元素存在吗?
代码段:
for( index in test.key2)
答案 0 :(得分:4)
这是良好缩进的关键所在。
var test = {
"key1": val1,
"key2": [
{
"a":1,
"b":[{},{}]
},
{
"a":1,
"b":[{},{}]
}
]
};
在这里你可以清楚地看到它实际上有2个项目。
答案 1 :(得分:0)
因为test.key2
是array
,有两个elements
,所以它会迭代两次。
检查test.key2.length;