다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -
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 }