JSFiddle - React, Tailwind, and code Playground
by borisjavier
JavaScript
const resultadoConsulta = '[{"fecha":"2023-03-12","planta":"1","material":"Borracha","fornecedor":"A","peso":"1000"},{"fecha":"2023-03-13","planta":"1","material":"Borracha","fornecedor":"A","peso":"1500"},{"fecha":"2023-03-15","planta":"1","material":"PET","fornecedor":"A","peso":"2100"},{"fecha":"2023-03-19","planta":"1","material":"Multicamada","fornecedor":"A","peso":"10000"},{"fecha":"2023-04-05","planta":"1","material":"Borracha","fornecedor":"A","peso":"200"}]';
const mat = JSON.parse(resultadoConsulta);
const materiales = {};
for (const registro of mat) {
const planta = registro.planta;
const material = registro.material;
const peso = parseInt(registro.peso);
const clave = `${planta}-${material}`;
if (materiales.hasOwnProperty(clave)) {
materiales[clave] += peso;
} else {
materiales[clave] = peso;
}
}
const resultados = Object.entries(materiales).map(([clave, peso]) => {
const [planta, material] = clave.split('-');
return {
planta,
material,
peso
};
});
console.log(resultados);