如何知道共有特定属性的对象数量?

时间:2018-10-23 15:45:43

标签: javascript jquery arrays object

有一个对象数组,如何确定具有特定属性的对象的数量?

例如:

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

如何获取具有属性“大小”的对象数?

3 个答案:

答案 0 :(得分:0)

要实现此目的,您可以将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);

答案 1 :(得分:0)

您可以过滤数组以仅返回键为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);

答案 2 :(得分:0)

您可以将数组.reduce array.reduce((count, el) => count + ("size" in el), 0) 用于对象计数:

<p class="image-credits"><?php if(!empty($creditsImg = get_post_meta(get_post_thumbnail_id(), '_wp_attachment_credits', true))); echo $creditsImg ?></p>