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

배열 JavaScript에서 가장 많이 나타나는 항목 가져오기

<시간/>

예를 들어 문자열/숫자 리터럴의 배열을 받아 가장 많이 나타나는 항목의 인덱스를 반환하는 함수를 작성해야 한다고 가정해 보겠습니다. 배열을 반복하고 frequencyMap을 준비하고 해당 지도에서 가장 많이 나타나는 인덱스를 반환합니다.

그렇게 하는 코드는 -

const arr1 = [12, 5, 6, 76, 23, 12, 34, 5, 23, 34, 65, 34, 22, 67, 34];
const arr2 = [12, 5, 6, 76, 23, 12, 34, 5, 23, 34];
const mostAppearances = (arr) => {
   const frequencyMap = {};
   arr.forEach(el => {
      if(frequencyMap[el]){
         frequencyMap[el]++;
      }else{
         frequencyMap[el] = 1;
      };
   });
   let highest, frequency = 0;
   Object.keys(frequencyMap).forEach(key => {
      if(frequencyMap[key] > frequency){
         highest = parseInt(key, 10);
         frequency = frequencyMap[key];
      };
   });
   return arr.indexOf(highest);
};
console.log(mostAppearances(arr1));
console.log(mostAppearances(arr2));

출력

콘솔의 출력은 -

6
1