티스토리 뷰

JavaScript

JS - Map() 과 Set()

김관장 2022. 3. 2. 22:46

1. Map( )

  • 맵은 키-값 쌍을 저장한다는 점에서 객체와 유사하나, 다양한 자료형을 허용한다는 점에서 차이가 있다.

객체와의 차이점. 

출처: MDN( https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Map)

+) 객체는 기 값을 문자형으로 변환시키나, 맵은 키의 타입을 변환시키지 않음.

 

 

  • 주요 메서드
    • new Map() ㅡ 맵을 만들기.
    • map.set(key, value) ㅡ key에 value 값 저장.
    • map.get(key) ㅡ key에 해당하는 값 반환, 없는 경우 undefined 반환.
    • map.has(key) ㅡ key가 존재하면 true, 존재하지 않으면 false 반환.
    • map.deletel(key) ㅡ key 값 및 해당 값 삭제.
    • map.clear() ㅡ  map 전체 요소 삭제.
    • map.size ㅡ 요소의 전체 개수 반환.
    • map.forEach() ㅡ 맵의 모든 키-값 쌍에 대한 콜백함수 사용.
    • map.keys() ㅡ 모든 키를 반복 가능한 객체로 반환.
    • map.values() ㅡ 모든 값을 반복 가능한 객체로 반환.
    • map.entries() ㅡ [키, 값] 을 한 쌍으로 반복 가능한 객체로 반환.
    • Object.entires() ㅡ 키-값 쌍인 배열이나 반복가능한 객체(이터러블 객체)를 초기화 용도로 맵에 전달해 새로운 맵을 만들 수 있음. 

 

2. Set( )

  • 셋은 중복되는 값을 무시하는 특성을 갖고 있는 객체, 셋은 키가 없는 값이 저장된다.
  • 주요 메서드
    • new Set(iterable) ㅡ 셋을 만듬. 반복 가능한 객체(이터러블)를 받으면 그안의 값을 복사해 셋에 넣어줌.
    • set.add(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] 배열을 포함하는 이터러블 객체 반환

 

출처 및 예시 확인: https://ko.javascript.info/map-set

 

맵과 셋

 

ko.javascript.info

 

'JavaScript' 카테고리의 다른 글

JS - 배열 함수 sort()  (0) 2022.04.07
JS - JSX?  (0) 2022.03.31
JS - 불변성(ps. Immutable)  (0) 2022.02.24
JS - 함수 (일반, 리터럴-익명)  (3) 2022.02.21
JS - 배열 메소드 (forEach, some, every, map, reduce, filter)  (4) 2022.02.21
댓글