necesito transformar esto
const persons = [ {id:7 ,firstname : "Malcom", lastname: "Reynolds"}, {id:7, firstname : "Malcom", lastname: "Frye"}, {id:2,firstname : "Jayne", lastname: "Cobb"} ];en
const persons_ = [ {id:7 , firstname : "Malcom", item: [{lastname: "Reynolds"},{lastname: "Frye"}] } , {id:2, firstname : "Jayne", item:[{lastname: "Cobb"}] } ];(agrupando por id) ¿pueden ayudarme? gracias
quizás resuelvo con este código:
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) } })pero supongo que hay una mejor manera.