본문으로 바로가기

다음과 같이 두개의 배열이 있었을 때

let arr1 = [1, 2, 3];
let arr2 = [2, 3, 4, 5];

두 배열의 값들을 비교하여 합, 교, 차의 값을 구하고 싶다면 다음과 같다.

 

1. 차집합

let difference = arr1.filter(x => !arr2.includes(x)); // 결과 1

 

2. 교집합

let difference = arr1.filter(x => arr2.includes(x)); // 결과 2, 3

 

3. 배타적논리합

let difference = arr1
                 .filter(x => !arr2.includes(x))
                 .concat(arr2.filter(x => !arr1.includes(x))); // 결과 1, 4, 5

 

참고 사이트 : https://stackoverflow.com/questions/1187518/how-to-get-the-difference-between-two-arrays-in-javascript

 

How to get the difference between two arrays in Javascript?

Is there a way to return the difference between two arrays in JavaScript? For example: var a1 = ['a', 'b']; var a2 = ['a', 'b', 'c', 'd']; // need ["c", "d"] Any advice greatly appreciated.

stackoverflow.com