如何在javascript上的JSON对象数组中添加值?

如何在javascript上的JSON对象数组中添加值?,javascript,json,Javascript,Json,我有一个名为payment的数组json对象 [ { billed : "100", owed: "50" }, { billed : "200", owed: "100" }] 我想总结一下账单字段和净答案应该是300。 我尝试了以下方法: let paidPaymentCents = 0; for (let payment in payments) { paidPaymentCents += payments[payment].billed; } 有没有更

我有一个名为payment的数组json对象

[ { billed : "100", owed: "50" }, { billed : "200", owed: "100" }]
我想总结一下账单字段和净答案应该是300。 我尝试了以下方法:

let    paidPaymentCents = 0;   
for (let payment in payments) {
          paidPaymentCents += payments[payment].billed;
}
有没有更好的方法使用reduce: JavaScript将是实现这一点的方法。一旦JSON被解析,并且您拥有一个或多个数组对象:

let testAry = [{ billed : "100", owed: "50" }, { billed : "200", owed: "100" }],
    amt = testAry
          // 1. isolate and parse
          .map(item => parseFloat(item.billed))
          // 2. add up all billed
          .reduce((a, b) => a + b, 0);

console.log(amt)
根据数据的一致性,您可能希望使用Number而不是parseFloat。详情如下:

您可以将其缩小,谢谢@Devon:

 .reduce((acc, curr) => acc + parseFloat(curr.billed), 0)
JavaScript将是实现这一点的方法。一旦JSON被解析,并且您拥有一个或多个数组对象:

let testAry = [{ billed : "100", owed: "50" }, { billed : "200", owed: "100" }],
    amt = testAry
          // 1. isolate and parse
          .map(item => parseFloat(item.billed))
          // 2. add up all billed
          .reduce((a, b) => a + b, 0);

console.log(amt)
根据数据的一致性,您可能希望使用Number而不是parseFloat。详情如下:

您可以将其缩小,谢谢@Devon:

 .reduce((acc, curr) => acc + parseFloat(curr.billed), 0)

循环中的每个支付对象都具有结构{账单:100,欠款:50}

所以你可以

let payments = [ { billed : "100", owed: "50" }, { billed : "200", owed: "100" }]
let    paidPaymentCents = 0;  
for (var i = 0;i < payments.length; i++) {
    paidPaymentCents += Number(payments[i].billed);
}

您将获得paidPaymentCents,它将获得总额。

循环中的每个支付对象都具有结构{账单:100,欠款:50}

所以你可以

let payments = [ { billed : "100", owed: "50" }, { billed : "200", owed: "100" }]
let    paidPaymentCents = 0;  
for (var i = 0;i < payments.length; i++) {
    paidPaymentCents += Number(payments[i].billed);
}

您将获得PaidPaymentSeconds将获得总计。

您可以使用非常简单的方法来完成此操作。在reduce中,可以将每个element.billed包装为数字实例。您将从0开始作为累加器,然后添加每个元素。账单以获得总数。以下是一个例子:

常数数据=[{ 账单:100, 欠款:50 }, { 账单:200, 欠款:100 }]; const total=data.reducerunningTotal,元素=>{ runningTotal+=numberRelation.billed; 返回运行总数; }, 0;
log`账单总金额为${Total}` 你可以很容易地使用。在reduce中,可以将每个element.billed包装为数字实例。您将从0开始作为累加器,然后添加每个元素。账单以获得总数。以下是一个例子:

常数数据=[{ 账单:100, 欠款:50 }, { 账单:200, 欠款:100 }]; const total=data.reducerunningTotal,元素=>{ runningTotal+=numberRelation.billed; 返回运行总数; }, 0;
log`账单总金额为${Total}`;请说明什么是0l?请说明什么是付款和付款金额?请说明什么是0l?请说明什么是付款和付款金额?您甚至可以通过以下操作删除链中的映射:.ReduceAc,curr=>acc+parseFloatcurr.billed,0您甚至可以通过以下操作删除链中的映射:.ReduceAc,curr=>acc+parseFloatcurr.billed,0基于此答案,我为什么要使用数字?基于这个答案,我为什么要使用数字?