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

JavaScript를 사용하여 배열에서 개체 속성 값이 발생하는 횟수를 찾으십니까?

<시간/>

이를 위해 reduce() 개념을 사용합니다. 다음은 코드입니다 -

예시

const subjectDetails =
[
   {
      subjectId: '101',
      subjectName: 'JavaScript'
   },
   {
      subjectId: '102',
      subjectName: 'Java'
   },
   {
      subjectId: '103',
      subjectName: 'JavaScript'
   }
];
console.log([...subjectDetails.reduce((obj1, obj2) => {
   if (obj1.has(obj2.subjectName)){
      obj1.get(obj2.subjectName).frequency++;
   } else {
      obj1.set(obj2.subjectName, { subjectName: obj2.subjectName,
      frequency: 1 });
   }
   return obj1;
}, new Map()).values()]);

위의 프로그램을 실행하려면 다음 명령을 사용해야 합니다 -

node fileName.js.

여기에서 내 파일 이름은 demo144.js입니다.

출력

이것은 다음과 같은 출력을 생성합니다 -

PS C:\Users\Amit\JavaScript-code> node demo144.js
[
   { subjectName: 'JavaScript', frequency: 2 },
   { subjectName: 'Java', frequency: 1 }
]