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

배열 JavaScript에서 가장 많이 반복되는 항목 가져오기

<시간/>

일부 값을 포함하는 숫자/문자열 리터럴 배열이 있습니다(일부는 반복적임). 우리의 임무는 배열에서 가장 많이 나타나는 배열의 요소를 반환하는 함수를 작성하는 것입니다.

예를 들어 - 입력 배열이 -

인 경우
const input = ['a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a', 'j',
'a'];

그러면 출력은 다음과 같아야 합니다. -

'a'

''가 최대 횟수만큼 반복되기 때문에

따라서 이에 대한 코드를 작성해 보겠습니다. Map()을 사용하여 모든 요소 weencounter와 해당 개수를 추적하고 마지막으로 다음과 같이 최대 개수를 가진 요소를 반환합니다. -

예시

const input = ['m', 'a', 'v', 'k', 'f', 'a', 'f', 's', 'd', 'd', 'f', 'a',
'j', 'a'];
const findMaximum = arr => {
   const map = arr.reduce((acc, val) => {
      let count = acc.get(val);
      if(count){
         acc.set(val, ++count);
      } else {
         acc.set(val, 1);
      };
      return acc;
   }, new Map());
   return Array.from(map).reduce((acc, val) => {
      if(val[1] > acc[1]){
         return val;
      };
      return acc;
   }, [0, 0])[0];
};
console.log(findMaximum(input));

출력

콘솔의 출력은 -

a