如何统计一个对象中特定元素的个数?
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)
我有一组物品 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)