我了解找到JS对象的长度已得到广泛回答here
其中一种建议的解决方案是Object.keys(myObj).length
但是,我正在努力寻找如何找到对象数组中包含的所有属性的长度。
即:
const users = [
{
firstName: "Bruce",
lastName: "Wayne",
id: "1",
},
{
firstName: "Peter",
lastName: "Parker",
id: "2"
},
{
firstName: "Tony",
lastName: "Stark",
id: "3"
}
];
Object.keys(users).length //3
鉴于上面的示例,我如何输出9
的长度来检索对象数组上的所有属性?
这可以使用reduce
方法来完成吗?预先感谢。
答案 0 :(得分:5)
是的,reduce
是合适的方法-在每次迭代中,将当前对象的键数添加到累加器中,以求和每个项的keys
:
const users = [
{
firstName: "Bruce",
lastName: "Wayne",
id: "1",
},
{
firstName: "Peter",
lastName: "Parker",
id: "2"
},
{
firstName: "Tony",
lastName: "Stark",
id: "3"
}
];
const totalProps = users.reduce((a, obj) => a + Object.keys(obj).length, 0);
console.log(totalProps);