gpt4 book ai didi

javascript - 是否有任何直接方法可以返回对象数组中数组长度的总和?

转载 作者:行者123 更新时间:2023-12-01 01:19:39 25 4
gpt4 key购买 nike

我有一个对象数组,我想找到某个属性(键)的数组长度之和。我有这样的对象数组

var myArray = 
[{
"a" : 1,
"b" : another Array
},
{
"c" : 2,
"b" : another Array
}
.....
]

有什么方法可以简化下面的过程吗?

var lengthOfEachObject = myArray.map(function(Obj){

if(Obj.b){
return Obj.b.length;
}
else{
return 0;
}
});
lengthofEachObject.reduce(function(x,y){
return x+y;
})

答案还可以包括外部库的使用。

最佳答案

您可以使用.reduce如果没有 .map,这样您只需在数组上迭代一次即可获得总和。此外,您可以使用destructing assignment而不是 if 语句来为 b.length 设置默认值(如果它不存在)。

请参阅下面的工作示例:

const arr = [{a: 1, b: [1, 2, 3, 4, 5] }, {c: 2, b: [1, 2, 3]}, {e: 3}],
total = arr.reduce((acc, {b={length:0}}) => acc + b.length, 0);

console.log(total);

关于javascript - 是否有任何直接方法可以返回对象数组中数组长度的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54346151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com