我想迭代嵌套關聯數組。
每次迭代後,我也得到一個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