如何总结json数组

如何使用jQuery对这样的JSON数组元素求和:

"taxes": [ { "amount": 25, "currencyCode": "USD", "decimalPlaces": 0,"taxCode": "YRI", { "amount": 25, "currencyCode": "USD", "decimalPlaces": 0,"taxCode": "YRI", { "amount": 10, "currencyCode": "USD", "decimalPlaces": 0,"taxCode": "YRI",}], 

结果应该是:

totalTaxes = 60

使用JSON 101

 var foo = { taxes: [ { amount: 25, currencyCode: "USD", decimalPlaces: 0, taxCode: "YRI"}, { amount: 25, currencyCode: "USD", decimalPlaces: 0, taxCode: "YRI"}, { amount: 10, currencyCode: "USD", decimalPlaces: 0, taxCode: "YRI"} ] }, total = 0, //set a variable that holds our total taxes = foo.taxes, //reference the element in the "JSON" aka object literal we want i; for (i = 0; i < taxes.length; i++) { //loop through the array total += taxes[i].amount; //Do the math! } console.log(total); //display the result 

如果你真的必须使用jQuery,你可以这样做:

 var totalTaxes = 0; $.each(taxes, function () { totalTaxes += this.amount; }); 

或者,您可以在支持它的浏览器中使用ES5 reducefunction:

 totalTaxes = taxes.reduce(function (sum, tax) { return sum + tax.amount; }, 0); 

或者只是像@ epascarello的回答一样使用for循环……