Map 객체 ❓
Key-value쌍
으로 데이터를 저장할 수 있는 구조
let map = new Map();
위 코드처럼 비어있는 Map 객체를 만들 수 있다.
set()함수를 사용해 키-값쌍으로 데이터를 추가할 수 있다.
map.set(key,value)
map.set('yeon',20);
map.set('jiwon',30);
get()함수를 통해 원하는 키의 value값을 조회할 수 있다
map.get(key)
map.get('yeon') // 20
map.get('jiwon') // 30
has()함수를 통해 Map 객체에 내가 찾고싶은 키가 존재하는지 확인 할 수 있다. 해당 키가 들어있다면 true를 없다면 false를 반환한다.
map.has(key)
map.has('yeon') // true
map.has('woo') // false
delete() 함수를 통해 특정 키를 삭제한다.
map.delete('yeon')
clear() 함수로 전체 데이터를 삭제한다.
map.clear();
size 프로퍼티로 Map 객체의 크기(길이)를 확인 할 수 있다.
console.log(map.size) // 0
forEach()
함수나 for...of
구문을 통해 객체를 순회할 수 있다.
for(let [key,value] of map){
console.log(key,value)
//"yeon" 20
//"jiwon" 30
}
map.forEach((value,key)=>{
console.log(key,value)
//"yeon" 20
//"jiwon" 30
})
일반 객체는 같은 key에 다른 value의 값을 저장할 수 있다.
map에서 같은 key에 다른 value가 들어오면 새 value가 이전 value를 덮어쓴다.
let map = new Map();
map.set('yeon', 22);
map.set('yeon',20);
console.log(...map) // ["yeon",20]