Tengo esta matriz:
array=[{x:2,y:test0,z:title},{x:3,y:test0,z:title},{x:4,y:test0,z:title},{x:5,y:test0,z:title2},{x:6,y:test0,z:title2},{x:7,y:test0,z:title2}]Y lo convertí en esta matriz de esta manera:
const groups = array.reduce((acc, row) => { acc[row[title]] = acc[row[title]] || []; acc[row[title]].push(row); return acc; }, {});este es el resultado:
[ title:[{x:2,y:test0},{x:3,y:test0},{x:4,y:test0}] title2:[{x:5,y:test1},{x:6,y:test1},{x:7,y:test1}] ]Y quiero tener esta matriz:
[ title:[test0:[{x:2},{x3:},{x:4}]] title2:[test1:[{x:5}],test2:[{x:6}],test3:[{x:7}]]] ]¿Cómo puedo llegar a esta matriz?
Quiere que y sea la clave. Puedes usar la desestructuración de objetos como:
const {y, ...obj} = row[title]; const fixedRow = {[y]: obj}; De esta manera, y se elimina del objeto y puede usar el valor anterior de y como clave y las propiedades restantes como valor.
Esto no se verá exactamente como su resultado esperado, porque las matrices no pueden tener propiedades, pero supongo que es solo un error tipográfico.