다음과 같은 일부 사용자에 대한 데이터를 포함하는 객체 배열이 있다고 가정합니다.
const arr = [
{
"name":"aaa",
"id":"2100",
"designation":"developer"
},
{
"name":"bbb",
"id":"8888",
"designation":"team lead"
},
{
"name":"ccc",
"id":"6745",
"designation":"manager"
},
{
"name":"aaa",
"id":"9899",
"designation":"sw"
}
]; 그러한 배열을 취하는 JavaScript 함수를 작성해야 합니다. 그런 다음 함수는 특정 이름 속성을 포함하는 개체 수에 매핑된 모든 이름 속성 값을 포함하는 새 개체를 반환해야 합니다.
따라서 위의 배열의 경우 출력은 다음과 같아야 합니다. -
const output = {
"aaa": 2,
"bbb": 1,
"ccc": 1
}; 예시
이에 대한 코드는 -
const arr = [
{
"name":"aaa",
"id":"2100",
"designation":"developer"
},
{
"name":"bbb",
"id":"8888",
"designation":"team lead"
},
{
"name":"ccc",
"id":"6745",
"designation":"manager"
},
{
"name":"aaa",
"id":"9899",
"designation":"sw"
}
];
const countNames = (arr = []) => {
const res = {};
for(let i = 0; i < arr.length; i++){
const { name } = arr[i];
if(res.hasOwnProperty(name)){
res[name]++;
}
else{
res[name] = 1;
};
};
return res;
};
console.log(countNames(arr)); 출력
콘솔의 출력은 -
{ aaa: 2, bbb: 1, ccc: 1 }