繁体   English   中英

显然简单的函数不返回任何东西

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM