_yoonie
개발일기
_yoonie
전체 방문자
오늘
어제
  • 분류 전체보기 (70)
    • 개발일기 (2)
    • DB (8)
      • MySQL (2)
      • PostgreSQL (6)
    • WEB (30)
      • JAVASCRIPT (7)
      • Vue.js (2)
      • MyBatis (3)
      • PHP (7)
      • HTML_CSS (5)
      • etc. (3)
    • Java (9)
    • Android (5)
    • Kotlin (0)
    • C# (3)
    • Python (2)
    • 개발 툴 (5)
    • 기획 (1)
    • 자료실 (2)
    • React (0)

인기 글

태그

  • VirtualBox
  • androidstudio
  • java programming
  • 기획
  • c#
  • CSS
  • 안드로이드스튜디오
  • Java
  • ubuntu
  • PostgreSQL

최근 댓글

최근 글

티스토리

160x600
hELLO · Designed By 정상우.
_yoonie

개발일기

[Javascript] 배열에서 교집합, 차집합, 배타적논리합 구하기
WEB/JAVASCRIPT

[Javascript] 배열에서 교집합, 차집합, 배타적논리합 구하기

2023. 6. 26. 16:33

두 개 이상의 배열에서 차집합, 교집합, 배타적 논리합 등의 계산을 해야 할 때가 있다.


let array1 = [3,6,9,12];
let array2 = [2,4,6,8,10,12];

다음과 같은 array1, array2가 있다고 가정합니다.

 

# 차집합

array1.filter(x => !array2.includes(x));

filter함수에서 array2에 포함되지 않은 값을 필터링하여 차집합을 구할 수 있다.

 

 

# 교집합

array1.filter(x => array2.includes(x));

filter함수에서 array2에 포함된 값을 필터링하여 교집합을 구할 수 있다.

 

 

# 배타적 논리합

array1.filter(x => !array2.includes(x))
      .concat(array2.filter(x => !array1.includes(x)));

filter로 각각 구해준 다음 concat으로 두 배열을 합해주어 구한다.

 

# 합집합

바로 concat을 해버리면 중복된 값이 들어갈 수 있기 때문에, 교집합을 한 번 빼준다.

array1.concat(array2.filter(x => array1.includes(x)))

교집합을 빼주는게 귀찮다면, 다음에 포스팅할 Javascript Set 편을 참고!

728x90
저작자표시 (새창열림)

'WEB > JAVASCRIPT' 카테고리의 다른 글

[jquery] validation plugin 사용하기  (0) 2023.12.18
공휴일 API - 공공데이터 포털에서 공휴일 데이터 조회 -2. API사용  (0) 2023.11.09
공휴일 API - 공공데이터 포털에서 공휴일 데이터 조회 -1. API신청  (0) 2023.11.03
[JS] 전화번호에 자동으로 '-' 붙이는 정규식  (0) 2023.01.05
[JS] 변수 타입 확인하기 - typeof, constructor  (0) 2022.09.14
    _yoonie
    _yoonie
    일상이 개발인 개발자의 일상

    티스토리툴바