[英]Handling Objects With Javascript Reduce
这是我的 object:
let data = [
{acnumber: 1, acname: "Mr X", acterm: "shorterm", acbalance: 150},
{acnumber: 2, acname: "Mr Y", acterm: "longterm", acbalance: 140},
{acnumber: 3, acname: "Mr Z", acterm: "shorterm", acbalance: 155}
]
因为我只需要关于“短期”贷款的账户数量和账户余额的信息,我可以通过这种方式过滤这些数据:
let shortTerm = data.filter((item)=>{
if (item.acterm === "shorterm") {
return item;
}
})
然后我可以使用这个找到短期贷款账户的数量:
let numberOfAccounts = shortTerm.length;
另外,我可以使用以下方法找到帐户余额总和:
let accountBalance = shortTerm.reduce((acc, item)=>{
return acc+item.acbalance;
},0)
我想知道是否有更好或更精确的方法来获得相同的结果。 我将非常感谢任何帮助。
单个.reduce
将起作用 - 仅当迭代的 object 是shortterm
的时,才将属性添加到累加器。 如果需要,请使用简洁的返回。
let data = [ {acnumber: 1, acname: "Mr X", acterm: "shorterm", acbalance: 150}, {acnumber: 2, acname: "Mr Y", acterm: "longterm", acbalance: 140}, {acnumber: 3, acname: "Mr Z", acterm: "shorterm", acbalance: 155} ] const balance = data.reduce( (a, obj) => a + (obj.acterm === 'shorterm'? obj.acbalance: 0), 0 ); console.log(balance);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.