다음과 같은 일부 사용자에 대한 데이터를 포함하는 객체 배열이 있다고 가정합니다.
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 }