Escribí una función que te permite agrupar valores en un objeto, pero no funciona del todo bien
Esta es mi variacion
const response = Object.values( footerMenu.reduce((acc, key) => { const { databaseId, parentDatabaseId } = key; acc[parentDatabaseId] = (acc[parentDatabaseId] || []).concat(key); return acc; }, {}) );datos de ejemplo:
[{parentDatabase: 0, databaseId: 5728}, {parentDatabseId: 5728, databaseId: 5762}....{parentDatabse: 0, databaseId: 4532}, {parentDatabaseId: 4532, databaseId: 3221} ...]cómo agrupar un elemento para que el ID de la base de datos principal == 0 tenga sus propios elementos relacionados con él
debe realizar una manipulación simple con la matriz: agrupe los elementos por parentDatabaseId
La forma habitual es invocando el método array.reduce() con la función de devolución de llamada correcta:
let array=[{parentDatabase: 0, databaseId: 5728}, {parentDatabase: 5728, databaseId: 5762},{parentDatabase: 0, databaseId: 4532}, {parentDatabase: 4532, databaseId: 3221} ] const groupByDbId = array.reduce((group, item) => { const { parentDatabase } = item; group[parentDatabase] = group[parentDatabase] ?? []; group[parentDatabase].push(item); return group; }, {}); console.log(JSON.stringify(groupByDbId, null, 2));