Как узнать количество объектов, имеющих общее свойство? - PullRequest
0 голосов
/ 23 октября 2018

имея массив объектов, как я могу определить количество объектов, у которых есть общее свойство?

например:

[{"color": "red"},{"color": "red", "size": "big"},{"color": "red", "size": "big"}];

Как получить количество объектов со свойством "size"?

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Вы можете отфильтровать массив так, чтобы он возвращал только те, у которых есть ключ size, а затем используйте .length, чтобы показать, сколько существует

const myArray = [{
  "color": "red"
}, {
  "color": "red",
  "size": "big"
}, {
  "color": "red",
  "size": "big"
}];

const howManySize = myArray.filter(a => a.size).length;

console.log(howManySize);
0 голосов
/ 23 октября 2018

Вы можете .reduce массив для подсчета объектов:

 array.reduce((count, el) => count + ("size" in el), 0)
0 голосов
/ 23 октября 2018

Для этого вы можете использовать filter() вместе с hasOwnProperty() для извлечения объектов в массиве, которые имеют свойство size.Тогда вы можете length узнать, сколько их было.

var arr = [{
  "color": "red"
}, {
  "color": "red",
  "size": "big"
}, {
  "color": "red",
  "size": "big"
}];

var result = arr.filter(x => x.hasOwnProperty('size'));
console.log(result.length);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...