EvaldoMaciel

Somar ou subtrair valores de um array por chave e sinal

Dec 16th, 2019
175
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Somar ou subtrair os valores de um array baseado no valor de uma chave especifica onde:
  3. FUNCIONAL: chave a ser somada
  4. SINAL_OPERACAO: sinal de soma ou subtração
  5. VL_FATURA: valor a somar ou subtrair
  6. */
  7.  
  8. somarPorChapa = function (arrayTratavel) {
  9.     var objetos = {};
  10.     var totalSomado = 0;
  11.     for (var i = 0; i < arrayTratavel.length; i++) {
  12.         if (objetos[arrayTratavel[i].FUNCIONAL] != undefined){
  13.             objetos[arrayTratavel[i].FUNCIONAL] += parseFloat([arrayTratavel[i].SINAL_OPERACAO] + parseFloat([arrayTratavel[i].VL_FATURA]));
  14.         }
  15.         if(objetos[arrayTratavel[i].FUNCIONAL] == undefined) {
  16.             objetos[arrayTratavel[i].FUNCIONAL] = []; // Cria um novo objeto onde a chapa é o nome da chave, caso não exista
  17.             objetos[arrayTratavel[i].FUNCIONAL] = parseFloat(parseFloat([arrayTratavel[i].SINAL_OPERACAO] + parseFloat([arrayTratavel[i].VL_FATURA])));
  18.         }
  19.         console.log("Oi " + arrayTratavel[i].FUNCIONAL + ": " +  totalSomado + " " + arrayTratavel[i].SINAL_OPERACAO + " " + parseFloat([arrayTratavel[i].VL_FATURA]) + " = " + (totalSomado + parseFloat(arrayTratavel[i].SINAL_OPERACAO + parseFloat([arrayTratavel[i].VL_FATURA]))));
  20.         totalSomado = totalSomado + parseFloat([arrayTratavel[i].SINAL_OPERACAO] + parseFloat([arrayTratavel[i].VL_FATURA]));
  21.     }
  22.     console.log(totalSomado);
  23.     return objetos;
  24. }
  25.  
  26. var novaSaida = somarPorChapa(depurarObjeto);
  27. console.log(novaSaida);
RAW Paste Data