如何使用对象 属性 计算对象数组中唯一元素的数量?
How do I count the number of unique elements in an array of objects using the object property?
我有一个如下所示的数组:
let arr = [
{'option1':1},{'option1':1},{'option1':1},
{'option1':2},{'option1':2},
{'option1':3},
{'option2':1},{'option2':1}
]
我需要遍历数组并计算具有相同 属性 的每个元素的出现次数,以便显示如下:
option1:{
1:3,
2:2,
3:1,
},
option2:{
1:2,
}
基本上说 属性 为 1 的选项 1 有 3 个计数,属性 为 2 的选项 1 有 2 个计数,属性 为 3 的选项 1 有 1 个计数和等等。
这样...
let arr =
[ { option1: 1 }, { option1: 1 }, { option1: 1 }
, { option1: 2 }, { option1: 2 }
, { option1: 3 }
, { option2: 1 }, { option2: 1 }
]
let obj = arr.reduce((r,o)=>
{
let [name,num] = Object.entries(o)[0]
if (!r[name]) r[name] = {}
if (!r[name][num]) r[name][num] = 1
else r[name][num]++
return r
},{})
console.log( obj )
.as-console-wrapper { max-height: 100% !important; top: 0 }
我有一个如下所示的数组:
let arr = [
{'option1':1},{'option1':1},{'option1':1},
{'option1':2},{'option1':2},
{'option1':3},
{'option2':1},{'option2':1}
]
我需要遍历数组并计算具有相同 属性 的每个元素的出现次数,以便显示如下:
option1:{
1:3,
2:2,
3:1,
},
option2:{
1:2,
}
基本上说 属性 为 1 的选项 1 有 3 个计数,属性 为 2 的选项 1 有 2 个计数,属性 为 3 的选项 1 有 1 个计数和等等。
这样...
let arr =
[ { option1: 1 }, { option1: 1 }, { option1: 1 }
, { option1: 2 }, { option1: 2 }
, { option1: 3 }
, { option2: 1 }, { option2: 1 }
]
let obj = arr.reduce((r,o)=>
{
let [name,num] = Object.entries(o)[0]
if (!r[name]) r[name] = {}
if (!r[name][num]) r[name][num] = 1
else r[name][num]++
return r
},{})
console.log( obj )
.as-console-wrapper { max-height: 100% !important; top: 0 }