JSFiddle - React, Tailwind, and code Playground
by borisjavier
JavaScript
let getSO = [];
getSO = {
"1&1&1678579200000": {
"empresa": "1",
"fecha": "2023-03-12",
"fornecedor": "A",
"material": "Borracha",
"peso": "1000",
"planta": "1"
},
"1&1&1678665600000": {
"empresa": "1",
"fecha": "2023-03-13",
"fornecedor": "A",
"material": "Borracha",
"peso": "1500",
"planta": "1"
},
"1&1&1678838400000": {
"empresa": "1",
"fecha": "2023-03-15",
"fornecedor": "A",
"material": "PET",
"peso": "2100",
"planta": "1"
},
"1&1&1679184000000": {
"empresa": "1",
"fecha": "2023-03-19",
"fornecedor": "A",
"material": "Multicamada",
"peso": "10000",
"planta": "1"
},
"1&1&1680652800000": {
"empresa": "1",
"fecha": "2023-04-05",
"fornecedor": "A",
"material": "Borracha",
"peso": "200",
"planta": "1"
},
"1&1&1687824000000": {
"empresa": "1",
"fecha": "2023-06-27",
"fornecedor": "A",
"material": "Borracha",
"peso": "1000",
"planta": "1"
}
//let materials = new Array();
//const getS = JSON.parse(getSO);
console.log(JSON.stringify(getSO));
/* getS.forEach(snapshot => {
const element = snapshot.val();
const emp = Number(element.empresa);
if(emp === 1) {
materials.push({"fecha": element.fecha, "planta":element.planta, "material": element.material, "fornecedor": element.fornecedor, "peso": element.peso })
}
});
//console.log(materials)
const getSi = JSON.parse(materials);
let arry = getSi.reduce((acumulador, elemento) => {
const planta = elemento.planta.toString();
const material = elemento.material;
const peso = parseInt(elemento.peso);
const objeto = acumulador.find(obj => obj.planta === planta && obj.material === material);
if (objeto) {
objeto.peso += peso;
...