我有一个看起来与此类似的对象:
[
{"key1": ["2019-04-12-14:54:29.190", "19", "0", "4325", "1"]},
{"key2": ["2019-04-12-14:54:29.191", "20", "0", "2212", "1"]},
{"key3": ["2019-04-12-14:54:29.192", "22", "0", "4376", "0"]}
]
但是我不知道键的名称(即我不知道 key1、key2 和 key3 的名称)。
这post几乎正是我想要的,只是该方法要求您知道键的名称。
我需要能够遍历键名及其值数组。
我试过这个:
for (var i in zk) {
for (var j in zk[i]) {
console.log(j)
}
}
但这只会打印键名。我怎样才能遍历列表呢?在大多数语言中,遍历 j 似乎是合乎逻辑的选择,但在这种情况下并非如此。有任何想法吗?谢谢。
最佳答案
让我们从您提供的代码示例开始。
1) 获取每个元素的键
for (let i in zk) {
for (let j in zk[i]) {
console.log(j)
}
}
2) 获取每个元素中的列表
for (let i in zk) {
for (let j in zk[i]) {
console.log(zk[i][j])
}
}
3) 遍历每个元素中的每个列表
for (let i in zk) {
for (let j in zk[i]) {
for (let k = 0; k < zk[i][j].length; k++) {
console.log(zk[i][j][k])
}
}
}
或者,您可以使用 Object.values ,它返回每个键值对的值。您可以考虑使用 Array.map()也是。
for (let i in zk) {
Object.values(zk[i]).map(list => {
list.map(element => {
console.log(element);
});
});
}
关于javascript - 如何遍历数组字典(不知道键名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55659348/