我想迭代嵌套关联数组。
每次迭代后,我也得到一个undefined
值:迭代嵌套关联数组
testarr = [];
testarr["key1"] = [];
testarr["key2"] = [];
testarr["key1"].push("val1");
testarr["key1"].push("val2");
testarr["key1"].push("val3");
testarr["key2"].push("val4");
testarr["key2"].push("val5");
testarr["key2"].push("val6");
for (var key in testarr) {
console.log("---" + key + "---")
for (var key2 in key) {
console.log(testarr[key][key2])
}
}
输出:
---key1---
val1
val2
val3
undefined
---key2---
val4
val5
val6
undefined
它从何而来?
不建议使用* *的for..in遍历数组作为其属性返回可能不是什么为了你期望和你可能会发现不属于自己的属性的枚举属性。此外,虽然阵列是对象,但它们预计会与数字键一起使用,而不是字母。在这种情况下,对象似乎更适合* testarr *。 – RobG
@RobG这是一个数组还是一个对象? – John
@ John- * testarr *是一个数组。 – RobG