let s = new Set('abcdeeeeeee');
console.log(s); // Set(5) {'a', 'b', 'c', 'd', 'e'}
//요소 개수 확인 size
console.log(s.size); // 5
// 요소 추가 add
s.add('f');
console.log(s); // Set(6) {'a', 'b', 'c', 'd', 'e', 'f'}
// 요소 순회 for ...of
for (var variable of s) {
console.log(variable);
}
// 값이 배열인 경우
let ss = new Set('abcdeeeeeeeee'.split(''));
console.log(ss); // Set(5) {'a', 'b', 'c', 'd', 'e'}
// 요소 존재 여부 확인 has
console.log(ss.has('a')); //true
// 요소 삭제 delete
ss.delete('b');
console.log(ss); // Set(4) {'a', 'c', 'd', 'e'}
// 요소 일괄 삭제 clear
ss.clear()
console.log(ss); // Set(0) {size: 0}
let a = new Set('abc');
let b = new Set('cde');
// 교집합
let cro = [...a].filter(value => b.has(value))
// 합집합
let union = new Set([...a].concat(...b))
// 차집합
let dif = new Set([...a].filter(x => !b.has(x)));
let m = new Map();
// 요소 추가 set
m.set('하나', '1');
m.set(1, '하나');
m.set(true, 1);
m.set(false, 0);
//Map(4) {'하나' => '1', 1 => '하나', true => 1, false => 0}
// 요소 취득 get
console.log(m.get('하나')); //1
console.log(m.get(true)); //1
// 요소 존재 여부 확인 has
console.log(m.has('하나')); //true
// 요소 삭제 delete
console.log(m.delete('하나')); //true
console.log(m.has('하나')); //false
console.log(m);//Map(3) {1 => '하나', true => 1, false => 0}
// 요소 개수 확인 size
console.log(m.size);//3
// 요소 일괄 삭제 clear
m.clear();
console.log(m); //Map(0) {size: 0}
// let mm = new Map()
// mm.set('하나', m)
// Map(1) {'하나' => Map(3)}
// mm.set('하나', {'one':1, 'two':2})
// Map(1) {'하나' => {…}}
set 요소 순회, 교집합, 차집합, 합집합
map 요소 순회