简体   繁体   English

如何循环并将对象数组转换为具有键值对的对象

[英]how to loop and convert an array of objects to an object with key value pair

I have an Array of Objects something like this我有一个像这样的对象数组

[
  {name: "John", country: "USA", revision: 1},
  {name: "Mark", country: "England", revision: 0},
  {name: "Bruce", country: "France", revision: 1}
]

I want to convert it into an object with key value pair with name key, like this我想把它转换成一个带有名称键的键值对的对象,就像这样

{
  John : {name: "John", country: "USA", revision: 1},
  Mark : {name: "Mark", country: "England", revision: 0},
  Bruce : {name: "Bruce", country: "France", revision: 1}
}

This is what I have done but it does not seems to work这是我所做的,但似乎不起作用

let component = contents.reduce(((content, current}) => {
    content[name] = current;
    return content;
}), {});

This can be done using Array.prototype.reduce func.这可以使用Array.prototype.reduce函数来完成。

 const input = [ {name: "John", country: "USA", revision: 1}, {name: "Mark", country: "England", revision: 0}, {name: "Bruce", country: "France", revision: 1} ]; const output = input.reduce((acc, {name, ...item}) => { acc[name] = item; return acc; }, {}); console.log(output);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM