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