Quiero convertir una matriz de datos en otra matriz con nuevos medios de cambio, si la identificación coincide, entonces inserte los datos en la actual; de lo contrario, cree un nuevo objeto con la segunda identificación.
let finaldata=[] let data =[{id:1,name:"meet"},{id:2,name:"raj"},{id:1,name:"hari"},{id:3,name:"hari"},{id:2,name:"ram"}] //I want this below array how can I archive this.? finaldata= [ { id: 1, names: [ 'meet', 'hari' ] }, { id: 2, names: [ 'raj', 'ram' ] }, { id: 3, names: [ 'hari' ] }]let finaldata = []; let data =[{id:1,name:"meet"},{id:2,name:"raj"},{id:1,name:"hari"},{id:3,name:"hari"},{id:2,name:"ram"}]; data.forEach((e) => { let val = {}; val.id = e.id; val.names = [e.name]; if (finaldata.length > 0) { let match = 0; for(i = 0; i < finaldata.length; i++) { if(finaldata[i].id == e.id){ finaldata[i].names.push(e.name); match = 1; } } if(match == 0){ finaldata.push(val); } } else { finaldata.push(val); } }); console.log(finaldata);