@mamaanarhiya

Как создать такой массив с данными?

Есть массив вида:
[{value: 123, title: 'test'},{value: 321, title: 'test2'},{value: 1232312, title: 'test2'},{value: 5678, title: 'test2'}]


Как из него сделать такой массив?
[
    {
      title: 'test',
      data: [
        {
          money: 123,
        },
      ],
    },
    {
      title: 'test2',
      data: [
        {
          money: 321,
        },
        {
          money: 1232312,
        },
        {
          money: 5678,
        },
      ],
    },
  ]
  • Вопрос задан
  • 228 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const grouped = Object.values(arr.reduce((acc, { title, value: money }) => {
  (acc[title] = acc[title] || { title, data: [] }).data.push({ money });
  return acc;
}, {}));
Ответ написан
Комментировать
rockon404
@rockon404
Frontend Developer
const map = {};

srcArray.forEach(({ title, value }) => {
  map[title] = map[title] || { title, data: [] };
  map[title].data.push({ money: value });
});

const resultArray = Object.values(map);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы