Всем привет. Подскажите плиз как решить задачку
Есть массив объектов
[{title: 'Test', name: 'Stas', surname: 'Petrov'}, {title: 'Test', country: 'Russia', city: 'Moscow'}]
На выходе должен получиться один объект который будет объединен по ключу title
{title: 'Test', name: 'Stas', surname: 'Petrov', country: 'Russia', city: 'Moscow'}
Ответы (2 шт):
Автор решения: meine
→ Ссылка
const d = [{title: 'Test', name: 'Stas', surname: 'Petrov'}, {title: 'Test', country: 'Russia', city: 'Moscow'}];
const o = {};
d.forEach(n => {
Object.assign(o, n);
});
console.log(o);
Автор решения: Sergei Kirjanov
→ Ссылка
const data = [{title: 'Test', name: 'Stas', surname: 'Petrov'}, {title: 'Test', country: 'Russia', city: 'Moscow'}]
console.log(data.reduce((a,b)=>({...a,...b}),{}))
С группировкой по title:
const data = [{title: 'Test', name: 'Stas', surname: 'Petrov'}, {title: 'Test2',a:2}, {title: 'Test', country: 'Russia', city: 'Moscow'}]
console.log(data.reduce((acc,el)=>({...acc,[el.title]:{...acc[el.title],...el}}),{}))