단순 비교
JSON.stringify 로 문자열로 변경 후 비교하기
const arr1 = ['1','2','3','4','5'];
const arr2 = ['1','2'];
console.log(JSON.stringify(arr1) === JSON.stringify(arr2)); // false
교집합
filter 와 includes 사용
arr2에 includes 함수를 통해서 arr1의 값(x)이 있으면 true, 아니면 false를 반환하여
arr1의 filter 함수를 통해 true 값만 걸러내 새로운 배열을 만든다.
const arr1 = ['1','2','3','4','5'];
const arr2 = ['1','2'];
console.log(arr1.filter(x => arr2.includes(x))); //['1','2']
차집합
arr2에 includes 함수를 통해서 arr1의 값(x)이 있으면 false, 아니면 true를 반환하여
arr1의 filter 함수를 통해 true 값만 걸러내 새로운 배열을 만든다.
const arr1 = ['1','2','3','4','5'];
const arr2 = ['1','2'];
console.log(arr1.filter(x => !arr2.includes(x))); // ['3','4','5']
대칭차집합
대칭차집합은 두 배열을 비교하여 각 배열안에 공통된 원소의 나머지 것들을 구하는 방식이다.
각배열의 차집합을 구한 후 concat 메소드를 통해 두 값을 합쳐준다.
const arr1 = ['1','2','3','4','5'];
const arr2 = ['1','2','6','7','8'];
let difference = arr1
.filter(x => !arr2.includes(x))
.concat(arr2.filter(x => !arr1.includes(x)));
console.log(diffenrence); //['3','4','5','6','7','8']
'Study > JS' 카테고리의 다른 글
배열 순서바꾸기 & 배열 정렬하기 (0) | 2022.09.23 |
---|---|
JS 숫자배열의 합 구하기 (0) | 2022.09.23 |
프로퍼티 (0) | 2022.09.22 |
객체 (0) | 2022.09.22 |
ES6 (0) | 2022.09.22 |