簡體   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