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

두 배열의 같음 JavaScript

<시간/>

우리는 두 개의 Number 배열(예:첫 번째 및 두 번째)을 가져와서 동일한지 확인하는 JavaScript 함수를 작성해야 합니다.

우리의 경우 평등은 다음 두 조건 중 하나에 의해 결정됩니다 -

  • 배열은 순서에 관계없이 동일한 요소를 포함하는 경우 동일합니다.

  • 첫 번째 배열과 두 번째 배열의 모든 요소의 합이 같은 경우

예를 들어 -

[3, 5, 6, 7, 7] and [7, 5, 3, 7, 6] are equal arrays
[1, 2, 3, 1, 2] and [7, 2] are also equal arrays
but [3, 4, 2, 5] and [2, 3, 1, 4] are not equal

이 함수에 대한 코드를 작성해 봅시다 -

예시

const first = [3, 5, 6, 7, 7];
const second = [7, 5, 3, 7, 6];
const isEqual = (first, second) => {
   const sumFirst = first.reduce((acc, val) => acc+val);
   const sumSecond = second.reduce((acc, val) => acc+val);
   if(sumFirst === sumSecond){
      return true;
   };
   // do this if you dont want to mutate the original arrays otherwise use
   first and second
   const firstCopy = first.slice();
   const secondCopy = second.slice();
   for(let i = 0; i < firstCopy.length; i++){
      const ind = secondCopy.indexOf(firstCopy[i]);
      if(ind === -1){
         return false;
      };
      secondCopy.splice(ind, 1);
   };
   return true;
};
console.log(isEqual(first, second));

출력

콘솔의 출력은 다음과 같습니다. -

true