javascript - Sum values from JSON

2019-06-08 02:27发布

I'm trying to sum the specific value from json array:

    ([{"DESPRO":"PLANILLA DE EMPLEADOS","ANIO":"2013","MES":"06","NROPER":"201306","PLAGRPCON":"3","GRUPO_CONCEPTO":"APORTES","CODCON":"3010 ","CONCEPTO":"ESSALUD ","VALOR":"106,1"},

{"DESPRO":"PLANILLA DE EMPLEADOS","ANIO":"2013","MES":"06","NROPER":"201306","PLAGRPCON":"2","GRUPO_CONCEPTO":"DESCUENTOS","CODCON":"2030 ","CONCEPTO":"ADELANTO DE QUINCENA ","VALOR":"350"},

{"DESPRO":"PLANILLA DE EMPLEADOS","ANIO":"2013","MES":"06","NROPER":"201306","PLAGRPCON":"2","GRUPO_CONCEPTO":"DESCUENTOS","CODCON":"2604 ","CONCEPTO":"ADE. MOVILIDAD 1ER","VALOR":"48"},

{"DESPRO":"PLANILLA DE EMPLEADOS","ANIO":"2013","MES":"06","NROPER":"201306","PLAGRPCON":"2","GRUPO_CONCEPTO":"DESCUENTOS","CODCON":"2605 ","CONCEPTO":"ADE. MOVILIDAD 2DO","VALOR":"56"},


EMPLEADOS","ANIO":"2013","MES":"06","NROPER":"201306","PLAGRPCON":"2","GRUPO_CONCEPTO":"DESCUENTOS","CODCON":"2090 ","CONCEPTO":"AFP-PRIMA DE SEGURO","VALOR":"16,27"}, .... etc etc

In this case sum the VALORs from the array and put in any variable on javascript.

I got this code:

// some JS code
for (var i in datos){
   var HABERES = parseInt(datos[i].VALOR, 10);
   HABERES += HABERES;

   alert(HABERES);
}

When the alert goes, the result is not the correct..

Is there any problem(s) with that code?

Thank for answers..

3条回答
等我变得足够好
2楼-- · 2019-06-08 02:46

It's hard to tell what you actually want, but I think it's this. Start with HABERES at 0 and add the values in the loop.

var HABERES = 0;
for (var i in datos){
   HABERES += parseInt(datos[i].VALOR, 10);

   console.log(HABERES);
}

http://jsfiddle.net/qGYTH/1/

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-06-08 02:53

Replace , with .

then parseFloat

var HABERES = 0;
for (var i in datos){
 HABERES += parseFloat(datos[i].VALOR.replace(',','.'));
}
alert(HABERES);

HABERES.replace('.',','); if you want comma on the result.

javascript uses the . as decimal separator.

parseFloat returns also decimal values.

http://jsfiddle.net/qGYTH/3/ Explosion Pills fiddle with my code.

查看更多
一纸荒年 Trace。
4楼-- · 2019-06-08 03:05

Should be something like;

var HABERES = 0;
for (var i in datos){
   HABERES += parseInt(datos[i].VALOR, 10);
   alert(HABERES);
}
查看更多
登录 后发表回答