Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 동일한 키를 사용하여 배열에 몇 개의 객체가 있는지 확인하십시오.

<시간/>

다음과 같은 일부 사용자에 대한 데이터를 포함하는 객체 배열이 있다고 가정합니다.

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 }