Задать вопрос
@mamaanarhiya

Сделать один объект из нескольких, как?

Есть объекты вида
{status: 'approved', message: '123'}
{status: 'declined', message: '3123123'}
{status: 'approved', message: '3434342'}
{status: 'approved, message: 'asdsdfdad'}

Нужно создать один объект из них. То есть нужно взять объекты, у которых status = approved и создать один объект со свойством status: 'approved' и в message все message из каждого объекта.
То есть на выходе должно получиться что-то типа этого:
{status: 'approved', message: '123\n 3434342\n asdsdfdad'}
  • Вопрос задан
  • 275 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя Антон Спирин К ответам на вопрос (4)
rockon404
@rockon404
Frontend Developer
const objects = [
  {status: 'approved', message: '123'},
  {status: 'declined', message: '3123123'},
  {status: 'approved', message: '3434342'},
  {status: 'approved', message: 'asdsdfdad'},
];

const result = objects.reduce(function(acc, el, i) {
  if (el.status === 'approved') {
    acc.message += (!i ? '': '\n') + el.message;
  }

  return acc;
}, { 
  status: 'approved',
  message: '',
});
Ответ написан
Комментировать