[英]Apparently simple function not returning anything
我敢肯定,我只是想一会儿,但是我什么也想不通。 我想创建一个快速函数,以对数组中的特定JSON对象的值求和,但是它什么也不返回。 这是代码:
var a=[{"b":"23"},{"b":"37"}]
function sumJSON(json,elem){
var total=0;
$.each(json,function(index,item){
var count=index+1;
total+=Number(item[elem]);
if(count===json.length){
return total;
}
})
}
console.log(sumJSON(a,"b"));
这是jsfiddle
万一您希望使用普通的javascript解决此问题。
var a = [{"b":"23"},{"b":"37"}] function sumJSON(a,key) { return a.reduce((s, data) => s + (+data[key]), 0) } console.log(sumJSON(a, 'b'))
var a=[{"b":"23"},{"b":"37"}]
function sumJSON(json,elem){
var total=0;
$.each(json,function(index,item){
total+=Number(item[elem]);
})
return total;
}
console.log(sumJSON(a,"b"));
$ each不需要返回任何东西,只需为集合的每个成员调用一个函数,在调用完所有元素之后,您需要在调用$ .each之后返回总数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.