У меня есть массив:
[
{"id":1, "name":"Melody 1", "artist":{"name": "Artist 1", "id":1}},
{"id":2, "name":"Melody 2", "artist":{"name": "Artist 1", "id":1}}
]
Я хочу получить
[
{"id":1, "name": "Artist 1", "content": [
{"id":1, "name":"Melody 1"},
{"id":2, "name":"Melody 2"}
]}
]
Перепробовал все варианты, которые удалось найти по js, но ничего не выходит. Подскажите, пожалуйста, каким образом я могу выполнять подобные операции?
console.log(
[
{"id":1, "name":"Melody 1", "artist":{"name": "Artist 1", "id":1}},
{"id":2, "name":"Melody 2", "artist":{"name": "Artist 1", "id":1}},
{"id":3, "name":"Melody 3", "artist":{"name": "Artist 2", "id":2}},
]
.reduce(
(map, x) => {
if (!map.dict.hasOwnProperty(x.artist.id)) {
map.raw.push(map.dict[x.artist.id] = {...x.artist, content:[]});
}
map.dict[x.artist.id].content.push({id: x.id, name: x.name});
return map;
},
{dict:{},raw:[]}
)
.raw
);
Напрашивается ещё проверка дубликатов по идентификатору мелодии, думаю сам разберёшься как её добавить.
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как связать блок с contenteditable с переменной используя vue?
уважаемые коллеги,подскажите, пожалуйста как в wordpress реализовать меню как на сайте http://xn--80aidokfob8exn--p1ai/ Там где выбираешь iphone и нужная информация...
Как получить на своем сайте значение курса биткоина с этого сайта https://coinmarketcapcom/