这是一项非常简单的任务,但大多数 UI 开发人员都停留在这一点上。那么我们来讨论一下吧。
如果我们已经从任何 Web Service 获得响应(JSON 格式),即对象数组-
0: {REFUND: 0, PAYMENTCANCELLED: 0, PENDING_RECHARGE: 11, OUTLIER: 0, CHANNEL: "JIO.COM", …}
1: {REFUND: 0, PAYMENTCANCELLED: 65, PENDING_RECHARGE: 0, OUTLIER: 0, CHANNEL: "JIO.COM", …}
2: {REFUND: 0, PAYMENTCANCELLED: 31, PENDING_RECHARGE: 393, OUTLIER: 0, CHANNEL: "MYJIO", …}
3: {REFUND: 0, PAYMENTCANCELLED: 319, PENDING_RECHARGE: 1, OUTLIER: 0, CHANNEL: "MYJIO", …}
让我们考虑一下上面的响应是像这样加载的
this.FttxRechargeReportRes = response.responsePayload;
以上的事情大家都很普遍,也可以理解。现在,获取各个键的每个值的总和。
getSum(){
debugger;
console.log(this.FttxRechargeReportRes );
let sumArr = this.FttxRechargeReportRes .reduce((acc, cur) => {
for (let key in cur) {
// console.log(key, cur, acc);
if (key !== 'RTYPE' && key !== 'CHANNEL') { // "We did this because there was only characters in RTYPE & CHANNEL , so we could not get sum of same."
if (acc[key]) {
acc[key] += cur[key]
} else {
acc[key] = cur[key]
}
}
}
return acc;
}, {})
console.log(sumArr);
this.arrData=sumArr;
console.log(this.arrData);
}
当你打印 arrData 时,你会得到以下输出:-
{
REFUND: 0
PAYMENTCANCELLED: 415
PENDING_RECHARGE: 405
OUTLIER: 0
RECHARGE_SUCCESS: 15212
PAYMENTSUCCESS: 15617
PAYMENT_INITIATED: 23333
TOTAL_RECHARGE: 39365
}
你只需要用html打印就可以了。