let m = new Map();// Map에 값을 넣기
// set메서드는 m에 값을 넣은 결과를 반환해준다.
m.set('하나', '1');
m.set(1, '하나');
m.set(true, 1);
m.set(false, 0);// Map의 값에 접근하기
console.log(m.get('하나'));
console.log(m.get(true));// Map의 값이 있는지 확인하기
console.log(m.has('하나'));// Map의 값을 제거하기
console.log(m.delete('하나'));
console.log(m.has('하나'));
console.log(m);// Map의 크기를 확인하기
console.log(m.size);//Map의 모든 값을 지우기
m.clear()
// let mm = new Map()
// mm.set('하나', m)
// Map(1) {'하나' => Map(3)}
// mm.set('하나', {'one':1, 'two':2})
// Map(1) {'하나' => {…}}
// Map의 순회 for (const variable of m) { console.log(`m을 순회 key : ${variable[0]}`) console.log(`m을 순회 value : ${variable[1]}`) }// Map의 값에 접근
console.log(m.keys());// 키 가져오기
console.log(m.values());// 값 가져오기
console.log(m.entries());// 키-값 쌍 가져오기// 인덱스를 가지는 자료형을 맵핑하기
let temp = new Map([[1, 10],
[2, 20],
[3, 30],
[4, 40]]);
console.log(temp);
let s = new Set('abcdeeeeeeeee'); console.log(s); console.log(s.size);// Set에 값을 추가하기
s.add('f');
console.log(s);// Set을 순환하기
for (var variable of s) {
console.log(variable);
}// 값이 배열인 경우
let ss = new Set('abcdeeeeeeeee'.split(''));
console.log(ss);// Set의 값을 제거하기
ss.delete('b');// Set의 값을 확인하기
console.log(ss.has('a'));// Set의 모든 값을 제거하기
ss.clear();
console.log(ss);
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 = [...a].filter(x => !b.has(x));