javascript - 如何遍历数组字典(不知道键名)

标签 javascript arrays object

我有一个看起来与此类似的对象:

[
    {"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/

相关文章:

java - 对二维数组中的对象使用方法

Javascript 对象 : backreference to property name

javascript - 无法导入 Materialize CSS JS react

javascript - 本地通知插件仅在index.html中工作 - 无法读取未定义的属性 'notification'

javascript - 改变数据标题的颜色(谷歌可视化)

javascript - 从 json 响应获取数据需要什么正则表达式或功能

javascript - 如何检查对象中的字符串在数组中是否唯一

c - 为什么我无法访问存储在另一个函数中的值?

java - 如何左旋转数组的元素

java - 字段 vs 字段和新对象