본문 바로가기
JavaScript 이론/Array

배열의 비교

by 혀닙 2022. 6. 25.

예시

const arr1 = [1,2,3,4,5];
const arr2 = [2,4,6,8,10];
const arr3 = [1,2,3,4,5];

 

1. stringify를 이용한 간단한 배열의 비교

아래와 같이 비교하려는 배열을 JSON.stringify()메서드를 통해 문자열로 변환한 뒤 비교할 수 있다.

console.log(JSON.stringify(arr1) === JSON.stringify(arr2));	//false
console.log(JSON.stringify(arr1) === JSON.stringify(arr3));	//true

 

2. 배열의 교집합 구하기

console.log(arr1.filter(v => arr2.includes(v)));	//[2,4]
console.log(arr1.filter(v => arr3.includes(v)));	//[1,2,3,4,5]

 

3. 배열의 차집합 구하기

console.log(arr1.filter(v => !arr2.includes(v)));	//[1,3,5]
console.log(arr1.filter(v => !arr3.includes(v)));	//

 

4. 배열의 대칭차집합 구하기

대칭차집합이란 두 배열의 더한 후 교집합을 제거한 값과 같다

console.log(arr1.filter(v => !arr2.includes(v)).concat(arr2.filter(v=> !arr1.includes(v))));
//[1,3,5,6,8,10]

 

댓글