У меня есть такой массив:
const peopleArray = [
{
"id": "Antoine",
"country": "France"
},
{
"id": "Alejandro",
"country": "Spain"
}
]
То, что я хотел бы представить как на объекте, как этот (обратите внимание, что id не является свойством):
{
"Antoine": {
"country": "France"
},
"Alejandro": {
"country": "Spain"
}
}
Итакпока я нашел, что я могу сделать это (элегантно!):
peopleArray.reduce( (ac, p) => ({...ac, [p.id]: p }), {} )
, который производит:
{
"Antoine": {
"id": "Antoine",
"country": "France"
},
"Alejandro": {
"id": "Alejandro",
"country": "Spain"
}
}
Я в недоумении, как сделать то же самое в краткой форме/ изящный способ, так что id
опущен.
Ищите чистое решение javascript es2017, которое работает с Node.js версии 8.11.1.