Estoy tratando de agrupar los datos en mi matriz anidada que tiene el mismo nombre de categoría, luego transformarlos en un objeto. El fragmento de código a continuación muestra cómo se ven mis datos. .................................................... .................................................... .................................................... ..........................................................
así es como se ven los datos
data = [ { name: "listName", id:434343, data: [ { id:434343, categoryName: school, }, { id:234343, categoryName: house, }, { id:2000, categoryName: school, }, { id:2333, categoryName: house, } ] }, { name: "anotherListName", id:434343, data: [ { id:434343, categoryName: school, }, { id:234343, categoryName: house, }, { id:2000, categoryName: school, }, { id:2333, categoryName: house, } ] } ]Así deberían verse los datos transformados
transformed = [ { name: "listName", id:43453, data: { school: [ { id:434343, categoryName:school }, { id:2000, categoryName:school }, ], house: [ { id:234343, categoryName:house }, { id:2333, categoryName:house }, ], } }, { name: "listName", id:43453, data: { school: [ { id:434343, categoryName:school }, { id:2000, categoryName:school }, ], house: [ { id:234343, categoryName:house }, { id:2333, categoryName:house }, ], } }, ]este es mi codigo
const transformed = [] list.forEach(d => { d.data.forEach(item => { const exist = transformed.find(t => t.categoryName == item.name) if(exist) ///got confused at this point else transformed.push(item) }) })