tengo esta funcion
const joinCages = arr => { return arr.reduce((acc, { jaulaId, comunaCode }) => { if (!acc.hasOwnProperty(jaulaId)) acc[jaulaId] = [] acc[jaulaId].push(comunaCode) return acc }, {}) }La salida es esta:
{ JAU0000001: [ '130109' ], JAU0000029: [ '100102', '100103' ], JAU0000017: [ '100304', '100305' ] }Que hace:
Cree un objeto que agrupe el "Código Comuna" en la clave "ID jaula" de una matriz de objetos
matriz de datos
[ { indexId: 104834, jaulaId: "JAU0000001", distributionCenterId: "100", comunaCode: "130109", orderType: "Retorno", regionCode: "13" }, { indexId: 104836, jaulaId: "JAU0000029", distributionCenterId: "100", comunaCode: "100102", orderType: "Retorno", regionCode: "13" }, { indexId: 104837, jaulaId: "JAU0000029", distributionCenterId: "100", comunaCode: "100103", orderType: "Retorno", regionCode: "13" } ]Quiero actualizar esa función sin la instrucción if y eliminando el retorno... Retorno implícito, ¿sabes?
El problema es que estoy fallando al codificar esto y no sé dónde o cómo puedo hacerlo.
Función mejorada
const joinCages2 = arr => { return arr.reduce((acc, { jaulaId, comunaCode }) => ({ ...acc, [jaulaId]: [jaulaId] ? [jaulaId].push(comunaCode) : [comunaCode] }), {}) }Gracias de antemano.