i need to trasform this
const persons = [
{id:7 ,firstname : "Malcom", lastname: "Reynolds"},
{id:7, firstname : "Malcom", lastname: "Frye"},
{id:2,firstname : "Jayne", lastname: "Cobb"}
];
in
const persons_ = [
{id:7 ,
firstname : "Malcom",
item: [{lastname: "Reynolds"},{lastname: "Frye"}]
} ,
{id:2,
firstname : "Jayne",
item:[{lastname: "Cobb"}]
}
];
(grouping by id) can you help me? tks
peraphs i resolve with this code:
const copyItems = []
persons.forEach(function(item_){
const found = copyItems.find(element => element.id == item_.id);
if (!(found)){
copyItems.push( {id:item_.id,firstname:item_.firstname,item:[{lastname: item_.lastname}]} )
}else
{
var item ={lastname: item_.lastname}
copyItems[copyItems.length-1].item.push(item)
}
})
but i suppose there is a better way.