【问题标题】:JSON Object to Arrays [closed]JSON对象到数组[关闭]
【发布时间】:2019-02-09 14:42:55
【问题描述】:

以下JSON对象需要迭代,需要如下结果。

[
  {"Aazam":1, "Jagannath":2, "Bharath Kumar M":4 },
  {"Bharath Kumar M":1, "Syad":1 },
  {"Bharath Kumar M":2 }
]

需要输出(可以在地图中):

Aazam: 1
Jagannath: 2
Bharath Kumar M: 4, 1, 2
Syad: 1

我尝试使用 ES 6 语法,我能够获取键和值,但我没有成功根据需要形成数组。

解决方案应该是通用的。

【问题讨论】:

  • 请分享您尝试过的代码
  • 您的问题或“代码”中没有 JSON
  • 它实际上是一个有效的json
  • 如果您尝试了一些代码,那么为了修复它,我们需要查看它,拜托。并且清楚地描述当前出现的问题(错误、警告、意外行为等)。谢谢。

标签: javascript arrays json typescript


【解决方案1】:

您可以将对象作为输出,其中每个键的唯一键和值作为包含所有相似键值的数组。

var arr = [{
    "Aazam": 1,
    "Jagannath": 2,
    "Bharath Kumar M": 4
  },
  {
    "Bharath Kumar M": 1,
    "Syad": 1
  },
  {
    "Bharath Kumar M": 2
  }
];

var res = arr.reduce((acc, item) => {
  var keys = Object.keys(item);
  keys.forEach((key) => {
    if (!acc[key]) {
      acc[key] = [];
    }
    acc[key].push(item[key]);
  });
  return acc;
}, {});
console.log(res);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2019-05-24
    • 1970-01-01
    相关资源
    最近更新 更多