JavaScript中的对象数组长度

9
我知道如何计算JS对象的长度已经在这里得到了广泛回答。其中一个建议的解决方案是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方法来完成?谢谢。


5
users.reduce((acc, o) => acc + Object.keys(o).length, 0) - Andrew Li
1
Object.keys(users[1]).length - Deepika Rao
1
@DeepikaRao 这只给出了 [1] 的长度,即 3 - Null isTrue
1个回答

10

是的,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);


非常感谢,我不知道该怎么做。 - Null isTrue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接