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

JavaScript에서 개수를 염두에 두고 배열 요소 비교

<시간/>

동일한 수의 요소를 포함하는 두 개의 리터럴 배열이 있다고 가정합니다. 두 배열에 동일한 횟수만큼 나타나는 동일한 요소가 포함되어 있는지 여부를 확인하는 함수를 작성해야 합니다.

배열이 이 조건을 충족하면 true를 반환하고 그렇지 않으면 false를 반환합니다.

두 번째 배열의 복사본을 만들고 첫 번째 배열에 대해 반복을 시작합니다. 반복하면서 첫 번째 배열에 있는 두 번째 배열의 요소를 계속 삭제합니다. 반복하는 동안 두 번째 배열에 없는 요소를 만나면 false를 반환합니다. 그렇지 않으면 반복이 끝날 때 true를 반환합니다.

예시

이에 대한 코드는 -

const arr1 = [2, 5, 7, 4, 3, 3];
const arr2 = [3, 5, 7, 2, 3, 4];
const compareWithCount = (arr1, arr2) => {
   if(arr1.length !== arr2.length){
      return false;
   };
   const copy2 = arr2.slice();
   const areEqual = arr1.every(el => {
      if(!copy2.includes(el)){
         return false;
      };
      copy2.splice(copy2.indexOf(el), 1);
      return true;
   });
   return areEqual;
};
console.log(compareWithCount(arr1, arr2));

출력

콘솔의 출력은 -

true