如何在javascript上的JSON对象数组中添加值?
我有一个名为payment的数组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; } 有没有更
[ { 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基于此答案,我为什么要使用数字?基于这个答案,我为什么要使用数字?