javascript—JSON中的求和值
我试图对json数组中的特定值求和:javascript—JSON中的求和值,javascript,json,sum,Javascript,Json,Sum,我试图对json数组中的特定值求和: ([{"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"
([{"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
在本例中,对数组中的值求和,并将其放入javascript上的任何变量中
我得到了这个密码:
// some JS code
for (var i in datos){
var HABERES = parseInt(datos[i].VALOR, 10);
HABERES += HABERES;
alert(HABERES);
}
警报发出时,结果不正确
该代码有任何问题吗
谢谢你的回答。很难说你到底想要什么,但我想是这个。从0处的
HABERES
开始,并在循环中添加值
var HABERES = 0;
for (var i in datos){
HABERES += parseInt(datos[i].VALOR, 10);
console.log(HABERES);
}
将
,
替换为
然后parseFloat
var HABERES = 0;
for (var i in datos){
HABERES += parseFloat(datos[i].VALOR.replace(',','.'));
}
alert(HABERES);
HABERES.replace(“,”,“)代码>如果要在结果上使用逗号
javascript使用。作为十进制分隔符
parseFloat还返回十进制值
爆炸药丸会干扰我的代码。应该是什么
HABERES+=HABERES代码>。你为什么要给自己增加价值?增加价值?这不对吗。。。我尝试创建另一个值(var SUM+=HABERES
),但结果仍然不正确。问题似乎是关于如何在JavaScript中处理对象数组,而不是关于JSON。我将您的警报(HABERES)
放在for之后,效果很好:)。。。在你的情况下,结果是6。。非常感谢。
var HABERES = 0;
for (var i in datos){
HABERES += parseInt(datos[i].VALOR, 10);
alert(HABERES);
}