1 2 3 4 5 6 L

Page Header > Subtitle

[javascript] JavaScript 합집합, 교집합, 차집합, 대칭차

function union(a, b) {
  var tmp={}, res=[];
  for(var i=0;i<a.length;i++) tmp[a[i]]=1;
  for(var i=0;i<b.length;i++) tmp[b[i]]=1;
  for(var k in tmp) res.push(k);
  return res;
}
 
function intersect(a, b) {
  var tmp={}, res=[];
  for(var i=0;i<a.length;i++) tmp[a[i]]=1;
  for(var i=0;i<b.length;i++) if(tmp[b[i]]) res.push(b[i]);
  return res;
}
 
function array_diff(a, b) {
  var tmp={}, res=[];
  for(var i=0;i<a.length;i++) tmp[a[i]]=1;
  for(var i=0;i<b.length;i++) { if(tmp[b[i]]) delete tmp[b[i]]; }
  for(var k in tmp) res.push(k);
  return res;
}
 
function sym_diff(a, b) {
  var tmp={}, res=[];
  for(var i=0;i<a.length;i++) tmp[a[i]]=1;
  for(var i=0;i<b.length;i++) { if(tmp[b[i]]) delete tmp[b[i]]; else tmp[b[i]]=1; }
  for(var k in tmp) res.push(k);
  return res;
}
 
var arr1 = ['A', 'B', 'C', 'D'];
var arr2 = ['C', 'D', 'E', 'F'];
 
// Union
console.log( union(arr1, arr2) );
// ["A", "B", "C", "D", "E", "F"]
 
// Intersection
console.log( intersect(arr1, arr2) );
// ["C", "D"]
 
// Complement
console.log( array_diff(arr1, arr2) );
// ["A", "B"]
 
// Symmetric difference
console.log( sym_diff(arr1, arr2) );
// ["A", "B", "E", "F"]​ 

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

JS/Node.js

번호 제목 글쓴이 날짜 조회수
39 javascript [javascript] async, await를 사용하여 비동기 javascript를 동기식으로 만들자 미도어묵 02-18 939
38 javascript JavaScript 합집합, 교집합, 차집합, 대칭차 미도어묵 11-23 1,135
37 javascript jQuery 플러그인 부트스트랩의 콤포넌트(modal) 미도어묵 10-04 1,022
36 javascript Javascript 숫자에 천단위로 콤마(,) 찍기 미도어묵 08-20 732
35 javascript 함수형 프로그래밍 - 함수형으로 전환 미도어묵 08-09 791
34 Node.js nodejs & api call example 미도어묵 06-25 756
33 javascript jQuery 핸드폰 번호 체크하기 미도어묵 06-25 779
32 Node.js Node.js 업그레이드 미도어묵 04-23 695
31 Node.js node.js cross 도메인 header 처리 미도어묵 03-12 750
30 javascript hls.js 및 데모 미도어묵 02-22 744
29 Node.js node.js memcached_guide 미도어묵 01-02 746
28 Node.js clustering node + socket.io + redis 사용법 미도어묵 09-29 1,424
27 javascript script sample 예제 관리자 09-20 757
26 Node.js 커넥션 연결 확인 관리자 09-01 702
25 javascript [문법] [TypeScript] Electron + Vue.js 예제 관리자 07-24 995
24 javascript 웹 풀스택 입문을 위한 약 500페이지 분량의 교재 관리자 07-11 836
23 javascript [TypeScript] 타입스크립트 기초 세미나 자료 관리자 06-10 810
22 javascript javascript 함수 지향 관리자 04-08 738
21 Node.js Node.js 로 웹 사이트 데이터 가져오기 관리자 04-06 769
20 Node.js [MongoDB] Application / Mongoose를 이용하여 간단한 채팅 프로그램 개발 관리자 03-30 810