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

JavaScript 배열의 모든 요소를 ​​반복하고 빈도 가져오기

<시간/>

일부 중복 항목이 포함된 숫자/문자열 배열이 제공된다고 가정해 보겠습니다. 배열에 있는 각 요소의 빈도를 반환하기만 하면 됩니다. 요소가 있는 객체를 키로 반환하고 해당 값을 빈도로 반환하면 이 상황에 적합합니다.

forEach() 루프를 사용하여 배열을 반복하고 객체가 이미 존재하는 경우 객체의 요소 수를 계속 증가시킵니다. 그렇지 않으면 객체의 해당 요소에 대한 새 속성을 생성합니다.

마지막으로 객체를 반환합니다.

이 문제의 전체 코드는 다음과 같습니다. -

예시

const arr = [2,5,7,8,5,3,5,7,8,5,3,4,2,4,2,1,6,8,6];
const getFrequency = (array) => {
   const map = {};
   array.forEach(item => {
      if(map[item]){
         map[item]++;
      }else{
         map[item] = 1;
      }
   });
   return map;
};
console.log(getFrequency(arr));

출력

콘솔의 출력은 -

{ '1': 1, '2': 3, '3': 2, '4': 2, '5': 4, '6': 2, '7': 2, '8': 3 }