Estoy luchando por crear un objeto a partir de una matriz en JS. Sigo recibiendo un error al ingresar al objeto de gráficos.
makeArrayFilteredPlots = () => { let plots = {}; this.props.filteredPlots.forEach((plot) => { const status = plot.entity.status.slug; plots[status].push(plot); }); console.log(plots); };{}plots[status] nunca se inicializa. Cuando intenta .push() cosas en algo indefinido, el script falla. Inicialícelo en una matriz vacía antes de comenzar a insertar cosas en él. makeArrayFilteredPlots = () => { let plots = {}; this.props.filteredPlots.forEach((plot) => { const status = plot.entity.status.slug; plots[status] = plots[status] || []; // Initialize an empty array plots[status].push(plot); }); console.log(plots); };Del comentario anterior...
"El formato de destino ni siquiera es una sintaxis JS válida. No se puede ver claramente si el OP quiere generar elementos de matriz, donde cada elemento es un objeto con una sola clave (o algo más). Desde el código de generación parece que el OP quiere crear/agregar un objeto donde cada entrada (par de valores clave) es una matriz. Pero entonces no estamos hablando de una matriz multidimensional".
Suposición sofisticada ... una tarea basada en reduce debería resolver el problema del OP de generar una configuración como objeto de matrices específicas de plot ...
const plotsConfig = this .props .filteredPlots .reduce((result, plot) => { const plotKey = plot.entity.status.slug; const plotList = result[plotKey] ??= []; plotList.push(plot); return result; }, {});