Длина массива объектов в JavaScript - PullRequest
0 голосов
/ 15 декабря 2018

Я понимаю, что на определение длины объекта 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?Заранее спасибо.

1 Ответ

0 голосов
/ 15 декабря 2018

Да, 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...