다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -
const arr = [
{
assigned_user:{
name:'Paul',
id: 34158
},
doc_status: "processed"
},
{
assigned_user:{
name:'Simon',
id: 48569
},
doc_status: "processed"
},
{
assigned_user:{
name:'Simon',
id: 48569
},
doc_status: "processed"
}
]; 우리는 그러한 객체 배열 중 하나를 취하는 JavaScript 함수를 작성해야 합니다. 그런 다음 함수는 이 개체 배열에 존재하는 고유한 "사용자" 속성의 수를 계산해야 합니다.
그런 다음 함수는 모든 고유한 개체를 새 배열로 푸시하고 해당 배열을 반환해야 합니다.
예시
이에 대한 코드는 -
const arr = [
{
assigned_user:{
name:'Paul',
id: 34158
},
doc_status: "processed"
},
{
assigned_user:{
name:'Simon',
id: 48569
},
doc_status: "processed"
},
{
assigned_user:{
name:'Simon',
id: 48569
},
doc_status: "processed"
}
];
const countUnique = (arr = []) => {
let res = [];
res = arr.reduce(function (r, o) {
let user = o.assigned_user.name;
(r[user])? ++r[user] : r[user] = 1;
return r;
}, {}),
result = Object.keys(res).map(function (k) {
return {user: k, count: res[k]};
});
return res;
}
console.log(countUnique(arr)); 출력
콘솔의 출력은 -
{ Paul: 1, Simon: 2 }