Map , Set

Y·2020년 9월 1일
0

자바스크립트

목록 보기
12/20

Map


Mapkey가 있는 데이터를 저장하는 객체와 유사한 자료구조이다. key,value쌍의 데이터를 저장하며, 객체와 달리 key에 다양한 자료형을 허용한다. 가령 숫자,불린값,객체 등을 자유롭게 key로 사용할 수 있다.

주요 메서드


  • new Map() : 맵을 생성한다.
  • map.set(key,value) : key를 이용하여 value를 저장한다.
  • map.get(key) : key에 해당하는 값을 반환한다. 없을 경우, undefined를 반환한다.
  • map.has(key) : key가 있으면 true, 없으면 false를 반환한다.
  • map.delete(key) : key의 해당 값을 삭제한다.
  • map.clear() : 맵의 모든 요소를 삭제한다.
  • map.size : 요소의 개수를 반환한다.
  • map.keys() – 각 요소의 키를 모은 반복 가능한(iterable, 이터러블) 객체를 반환한다.
  • map.values() – 각 요소의 값을 모은 이터러블 객체를 반환한다.
  • map.entries() – 요소의 [키, 값]을 한 쌍으로 하는 이터러블 객체를 반환한다. 이 이터러블 객체는 for..of반복문의 기초로 쓰인다.

특징


  • Map 은 삽입 순서를 기억한다. 반복문을 사용하는 경우, 삽입된 순서대로 시행된다.

  • MapforEach를 지원한다.

맵을 객체로 , 객체를 맵으로


  • Object.entries(object) 메서드를 통해 객체를 맵으로 바꿀 수 있다. Object.entries()메서드는 [key,value]를 요소로 갖는 배열을 반환한다.

  • Object.fromEntries(map) 을 통해, 맵을 객체로 바꿀 수 있다.

Set


Set은 중복을 허용하지 않는 값들의 컬렉션이다. key가 없는 값들이 저장된다.

주요 메서드


  • new Set(iterable) – 이터러블 객체를 받아 , 그 값들을 복사하여 셋에 넣어 생성한다.
  • set.add(value) – value를 추가하고, 자기 자신을 반환한다. 때문에 체이닝이 가능하다.
  • set.delete(value) – 값을 제거하고, 호출시점에 값이 있으면 true, 아니면 false를 반환한다.
  • set.has(value) – 셋내의 값이 존재하면 true, 아니면 false 반환한다.
  • set.clear() – 셋을 비운다.
  • set.size – 셋에 몇개의 값이 있는지를 반환한다.
  • set.keys() – 셋 내의 모든 값을 포함하는 이터러블 객체를 반환한다.
  • set.values()set.keys와 동일한 작업을 하며, 맵과의 호환성을 위해 만들어진 메서드이다.
  • set.entries() – 셋 내의 각 값을 이용해 만든 [value, value] 배열을 포함하는 이터러블 객체를 반환하며 맵과의 호환성을 위해 만들어졌다.

특징


맵과 마찬가지로, 삽입순서를 기억하기 때문에 정렬되어있지 않으며, 재정렬이 불가능하다.

profile
연세대학교 산업공학과 웹개발 JavaScript

0개의 댓글