@Denioo

Как преобразовать массив в объект?

Есть массив:
[{id: 123, color: 'black'},{id:124, color: 'green'}]

Надо сделать объект:
{
123: {color: 'black'},
124: {color: 'green'}
}
  • Вопрос задан
  • 160 просмотров
Решения вопроса 4
Seasle
@Seasle Куратор тега JavaScript
Помог - отметь решением \( ゚ヮ゚)/
array.reduce((accumulator, entry) => {
  const { id, ...data } = entry;
  accumulator[id] = data;
  
  return accumulator;
}, {});

P. S. Вариант через .map быстрее.
Ответ написан
yarkov
@yarkov Куратор тега JavaScript
Проект "Жизнь после смерти" - lifeafterdeath.ru
const array = [{id: 123, color: 'black'},{id:12.4, color: 'green'}];

array.reduce((obj, {id, ...others}) => ({
  ...obj,
  [id]: {...others}
}), {});
Ответ написан
0xD34F
@0xD34F Куратор тега JavaScript
Object.fromEntries(arr.map(({ id, ...n }) => [ id, n ]))
Ответ написан
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
var obj = arr.reduce((a,v)=>{
  a[v.id]={color: v.color};
  return a;
},{});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы