@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,
        },
      ],
    },
  ]
  • Вопрос задан
  • 144 просмотра
Решения вопроса 2
0xD34F
@0xD34F
var data = [{value: 123, title: 'test'},{value: 321, title: 'test2'},{value: 1232312, title: 'test2'},{value: 5678, title: 'test2'}]

var groupedData = Object.values(data.reduce((groups, n) => {
    groups[n.title] = groups[n.title] || { title: n.title, data: [] }
    groups[n.title].data.push({ money: n.value })
    return groups
}, {}))
Ответ написан
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);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
MedPoint24 Москва
от 100 000 руб.
NWCode Санкт-Петербург
от 110 000 руб.
Digital Sharks Казань
от 60 000 до 65 000 руб.
15 нояб. 2018, в 07:04
21000 руб./за проект
15 нояб. 2018, в 05:47
60000 руб./за проект
15 нояб. 2018, в 00:00
450 руб./в час