我正在尝试迭代嵌套的关联数组。
每次迭代后,我还会得到一个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循环中,您要遍历索引“ key”而不是“ testarr [key]”。
for (var key in testarr) {
console.log("---" + key + "---")
for (var key2 in testarr[key]) {
console.log(testarr[key][key2])
}
}
关于javascript - 迭代嵌套关联数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36535332/