[JS] Map & Set

ssumniee·2022년 1월 19일
1

ES6에 추가된 자료구조

객체(키가 있는 컬렉션을 저장하는 자료구조)와 배열(순서가 있는 컬렉션을 저장하는 자료구조)에 더하여 새로 추가된 자료구조

Map

  • 키가 있는 데이터를 저장한다는 측면에서 객체와 유사하다.
  • 다양한 자료형의 키를 사용할 수 있는 점에서 객체와 다르다.

주요 메소드 & 프로퍼티

  • new Map() : 새로운 Map 생성
  • map.set(key, value) : key를 이용해 value를 저장
  • map.get(key) : key에 해당하는 value를 반환, 해당 key가 존재하지 않으면 undefined 반환
  • map.has(key) : key가 존재하는지 여부를 반환

map[key] 를 사용해서는 안된다!
Map을 일반 객체처럼 취급하는 것이 되어 기존 객체가 갖는 여러 제약들을 동일하게 받게 된다. 전용 메소드인 set, get을 사용해야 한다.

반복 작업 하기

  • map.keys() : 각 요소의 key들을 모은 iterable 객체 반환
  • map.values() : 각 요소의 value들을 모은 iterable 객체 반환
  • map.entries() : 각 요소의 [key, value] 쌍을 모은 iterable 객체 반환

Set

  • 배열과 유사하다.
  • 중복을 허용하지 않는 값들을 모아 저장하는 자료구조이다.

주요 메소드 & 프로퍼티

  • new Set(iterable) : 새로운 Set 생성, 배열을 전달받을 경우 그 값들을 Set에 넣어 반환
  • set.add(value) : 값을 추가한 뒤 Set 반환
  • set.delete(value) : 값을 제거한 후, 값이 존재하여 제거에 성공한 경우 true 아닌경우 false를 반환
  • set.has(value) : 값이 존재하는지 여부를 반환

반복 작업 하기

  • for .. offorEach() 를 통해 반복 작업을 수행할 수 있다.
profile
개발에 뛰어든 UX/UI 디자이너

0개의 댓글