如何统计一个对象中特定元素的个数?

How to count a number of specific elements in an object?

我有一组物品 fruitItems 如下所示:

[
    {
        "name": "banana",
        "origID": "7064012136"
    },
    {
        "name": "apple",
        "origID": "8390108418"
    },
    {
        "name": "pineapple",
        "origID": "8317598430"
    },
    {
        "name": "banana",
        "origID": "8395091043"
    },
    {
        "name": "orange",
        "origID": "8391923474"
    }
]

如何获取此列表中 banana 的数量? 我试过这样做:

fruitItems.name.filter(x => x === "banana").length;

但是它抛出 ReferenceError: fruitItems is not defined 即使它被定义了。

语法更正:

const data = [{
    "name": "banana",
    "origID": "7064012136"
  },
  {
    "name": "apple",
    "origID": "8390108418"
  },
  {
    "name": "pineapple",
    "origID": "8317598430"
  },
  {
    "name": "banana",
    "origID": "8395091043"
  },
  {
    "name": "orange",
    "origID": "8391923474"
  }
]

const res = data.filter(({
  name
}) => name === "banana").length;

console.log(res)

更干净的解决方案:)

const fruits = [{
  "name": "banana",
  "origID": "7064012136"
}, {
  "name": "apple",
  "origID": "8390108418"
}, {
  "name": "pineapple",
  "origID": "8317598430"
}, {
  "name": "banana",
  "origID": "8395091043"
}, {
  "name": "orange",
  "origID": "8391923474"
}];


const count = fruits.reduce((acc, {
  name
}) => name === 'banana' ? acc + 1 : acc, 0); //2

console.log(count)