JavaScript中对象数组的长度

Nul*_*rue 3 javascript ecmascript-6

我知道在这里广泛回答了找到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"
  }
];
Run Code Online (Sandbox Code Playgroud)

Object.keys(users).length //3

鉴于上面的示例,如何输出9检索对象数组上所有属性的长度?

这可以用reduce方法完成吗?提前致谢.

Cer*_*nce 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);
Run Code Online (Sandbox Code Playgroud)