우리는 두 개의 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