如何将键值对象数组转换为具有单一属性的对象数组?

我有一个对象数组,如下所示:

[
  { "key": "fruit", "value": "apple" },
  { "key": "color", "value": "red" },
  { "key": "location", "value": "garden" }
]

我需要将其转换为以下格式:

[
  { "fruit": "apple" },
  { "color": "red" },
  { "location": "garden" }
]

如何使用JavaScript完成此操作?


解决方案

您可以使用.map

var data = [
  {"key":"fruit","value":"apple"},
  {"key":"color","value":"red"},
  {"key":"location","value":"garden"}
];

var result = data.map(function (e) {
  var element = {};
  element[e.key] = e.value;
  
  return element;
});

console.log(result);

如果您使用ES2015,也可以这样做

var result = data.map((e) => {
   return {[e.key]: e.value};
});

Example

相关文章