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

배열에서 가장 많이 발생하거나 JavaScript에서 처음 선택됨

<시간/>

리터럴 값의 배열을 취하는 JavaScript 함수를 작성해야 합니다. 그런 다음 우리 함수는 배열 값의 가장 높은 발생을 반환해야 하며, 동일한 발생이 있는 경우 동일한 발생의 첫 번째 선택된 값을 반환해야 합니다.

const arr = ['25', '50', 'a', 'a', 'b', 'c']

이 경우 '''를 반환해야 합니다.

const arr = ['75', '100', 'a', 'b', 'b', 'a']

이 경우 '''도 받아야 합니다.

예시

이에 대한 코드는 -

const arr = ['25', '50', 'a', 'a', 'b', 'c'];
const arr1 = ['75', '100', 'a', 'b', 'b', 'a'];
const getMostFrequentValue = (arr = []) => {
   let count = 0, ind = -1;
   arr.forEach((el, i) => {
      this[el] = this[el] || { count: 0, ind: i };
      this[el].count++;
      if (this[el].count > count) {
         count = this[el].count;
         ind = this[el].ind;
         return;
      };
      if (this[el].count === count && this[el].ind < ind) {
         ind = this[el].ind;
      };
   }, Object.create(null));
   return arr[ind];
};
console.log(getMostFrequentValue(arr));
console.log(getMostFrequentValue(arr1));

출력

콘솔의 출력은 -

a
a