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

JavaScript 배열:n번 이상 나타나는 모든 요소 찾기

<시간/>

일부 반복 항목이 포함된 숫자/문자열 리터럴 배열이 있습니다. 우리의 임무는 양의 정수 Number n을 받아서 onlyargument에 의해 지정된 숫자 n보다 크거나 같은 모양을 만드는 모든 요소의 하위 배열을 반환하는 함수를 작성하는 것입니다.

따라서 이 함수에 대한 코드를 작성해 보겠습니다. -

Map()을 사용하여 요소의 빈도 수를 유지하고 나중에 지정된 수를 초과하는 요소를 반환합니다. 이에 대한 코드는 -

예시

const arr = [34, 6, 34, 8, 54, 7, 87, 23, 34, 6, 21, 6, 23, 4, 23];
const moreThan = (arr, num) => {
   const creds = arr.reduce((acc, val) => {
      let { map, res } = acc;
      const count = map.get(val);
      if(!count && typeof count !== 'number'){
         map.set(val, 1);
      }else if(num - count <= 1){
         res.push(val);
      } else {
         map.set(val, count+1);
      };
      return {map, res};
   }, {
      map: new Map(),
      res: []
   });
   return creds.res;
};
console.log(moreThan(arr, 3));

출력

콘솔의 출력은 -

[34, 6, 23]