@OliverCts

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

Как с помощью lodash, или на чистом js преобразовать массив объектов вида:

var data = [{ name: 'guru',  age: '24' },{ name: 'guru2',  age: '29' } ];

В объект вида:

var data = {guru : { name: 'guru',  age: '24' }, guru2: { name: 'guru2',  age: '29' } };

?
  • Вопрос задан
  • 8278 просмотров
Решения вопроса 3
0xD34F
@0xD34F Куратор тега JavaScript
с помощью lodash

const obj = _.fromPairs(_.map(data, n => [ n.name, n ]));

на чистом js

const obj = data.reduce((acc, n) => (acc[n.name] = n, acc), {});
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
data = data.reduce((p,c) => { p[c.name] = c; return p; }, {});

// {"guru":{"name":"guru","age":"24"},"guru2":{"name":"guru2","age":"29"}}
Ответ написан
Комментировать
var data = [{ name: 'guru',  age: '24' },{ name: 'guru2',  age: '29' } ];
var result = data.reduce((acc, item) => {
	acc[item.name] = item;

	return acc;
}, {});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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