Map이랑 Set은 배열, 객체로 부족한 부분을 채워주기 위해서 등장!
Map은 Key에 어떠한 데이터 타입도 다 들어올 수 있음(객체랑 다르게)
사용법
맵을 선언해 준 후 new Map();으로 생성
이후 .set()을 통해서 저장.
const myMap = new Map();
myMap.set('key', 'value');
맵은 for of를 사용한다.
.keys(), .values(), .entries()
const myMap = new Map();
myMap.set('one', 1)
myMap.set('two', 2)
myMap.set('three', 3)
for (const key of myMap.keys()) {
console.log(key);
}
for (const velue of myMap.values()) {
console.log(velue);
}
for (const entrie of myMap.entries()){
console.log(entrie)
}
.size (map의 길이 확인)
.has("key") (키 이름 검색)
Set은 고유한 '값'만 저장하는 친구.
값이 중복되는 경우 하나로 합쳐진다.
const mySet = new Set();
mySet.add('value1');
mySet.add('value2');
mySet.add('value2');
위의 경우 'value2'가 중복이기에 합쳐져서
mySet.size는 2가 찍힌다.
.has()도 사용 가능.
Set의 .values()값을 console.log()로 찍어보면
[Set Iterator] {v1, v2, v3}으로 찍힌다.
for (const value of mySet.values()) {
console.log(value);
}
다음과 같이 돌릴 수 있음.