He estado atascado en esto por un tiempo, pero no estoy seguro de cómo puedo aplanar y reducir los datos de ejemplo a continuación en pares de valores clave únicos con el valor combinado si hay múltiplos de la misma clave.
Ejemplo:
const data = [ { test: 200 }, { test2: 300, test3: 100 }, { test3: 400, test4: 150, test2: 50 }, ];Resultado Esperado:
const result = [ { test: 200 }, { test2: 350 }, { test3: 500 }, { test4: 150 } ];¿Algunas ideas?
AIT
Prueba esto:
const data = [ { test: 200 }, { test2: 300, test3: 100 }, { test3: 400, test4: 150, test2: 50 } ]; const flattenedAndReduced = data.reduce((prev, current) => { Object.keys(prev).forEach((key, index) => { if (current[key]) { prev[key] += current[key]; delete current[key]; } }); Object.keys(current).forEach((key) => { if (!prev[key]) prev[key] = current[key]; }); return { ...prev }; }); const flattenedAndReducedToArray = Object.keys(flattenedAndReduced).map((key) => ({ [key]: flattenedAndReduced[key] }));