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

배열에서 가장 일반적인 값을 얻는 방법:JavaScript ?

<시간/>

반복되는 값을 갖는 리터럴 배열을 취하는 JavaScript 함수를 작성해야 합니다. 우리의 함수는 배열에서 가장 일반적인 요소의 배열을 반환해야 합니다(두 개 이상의 요소가 동일한 횟수로 가장 많이 나타나는 경우 배열에는 해당 요소가 모두 포함되어야 함).

예시

이에 대한 코드는 -

const arr1 = ["a", "c", "a", "b", "d", "e", "f"];
const arr2 = ["a", "c", "a", "c", "d", "e", "f"];
const getMostCommon = arr => {
   const count = {};
   let res = [];
   arr.forEach(el => {
      count[el] = (count[el] || 0) + 1;
   });
   res = Object.keys(count).reduce((acc, val, ind) => {
      if (!ind || count[val] > count[acc[0]]) {
         return [val];
      };
      if (count[val] === count[acc[0]]) {
         acc.push(val);
      };
      return acc;
   }, []);
   return res;
}
console.log(getMostCommon(arr1));
console.log(getMostCommon(arr2));

출력

콘솔의 출력은 -

[ 'a' ]
[ 'a', 'c' ]