繁体   English   中英

使用 Javascript 处理对象减少

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM