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

JavaScript의 배열에서 요소의 고유 발생 수

<시간/>

정수 배열을 첫 번째이자 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

함수는 배열에 있는 모든 정수가 고유한 횟수만큼 나타나는지 여부를 지정해야 합니다.

그렇다면 함수는 true를 반환하고 그렇지 않으면 false를 반환해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const arr = [7, 5, 5, 8, 2, 4, 7];

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

const output = false;

정수 7과 5가 각각 2번씩 나타나기 때문입니다.

먼저 해시 맵을 사용하여 정수를 해당 빈도(발생)에 매핑한 다음 해당 맵을 사용하여 고유한 빈도를 저장하는 세트를 구축합니다.

예시

다음은 코드입니다 -

const arr = [7, 5, 5, 8, 2, 4, 7];
const uniqueAppearances = (arr = []) => {
   const map = {};
   const set = new Set();
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      map[el] = (map[el] || 0) + 1;
   };
   for(key in map){
      const value = map[key];
      if(set.has(value)){
         return false;
      };
      set.add(value);
   };
   return true;
};
console.log(uniqueAppearances(arr));

출력

다음은 콘솔 출력입니다 -

false