我正在尝试迭代嵌套的关联数组。
每次迭代后,我还会得到一个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/

10-09 00:15