[TIL]231013_Map 과 Set

ㅇㅖㅈㅣ·2023년 10월 16일
0

Today I Learned

목록 보기
4/93
post-thumbnail

Map과 Set 에 대해서 배웠는데...음....

우선 Map과 Set이 등장하게 된 이유는 JS에서 객체와 배열을 이용하면 다양하고 복잡한 프로그래밍을 할 수가 있지만 여러가지 문제들을 '프로그래밍'적으로 반영하기엔 많이 부족한데, 이러한 한계 극복을 위해 비교적 최근에 등장했다고 한다.

💡Map

  • 키-값 쌍 추가 및 검색(set)
  • 키-값 쌍 삭제(delete)
  • 모든 키-값 쌍 제거(clear)
  • Map 크기 및 존재 여부 확인(size)
  • 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환함
  • 키에 자료형 제약이 없음

<map 주요 메서드와 프로퍼티>

new map()
맵을 만든다
map.set(key, value)
key를 이용해 value를 저장
map.get(key)
key에 해당하는 값을 반환, key가 존재하지 않으면 undefined를 반환
map.has(key)
key가 존재하면 true, 존재하지 않으면 false를 반환
map.delete(key)
key에 해당하는 값을 삭제
map.clear()
맵 안의 모든 요소를 제거
map.size
요소의 개수를 반환

📌map을 사용할 때는 map 전용 메서드인 set, get등을 사용해야함!


<map의 요소에 반복 작업하기>

map.keys()
각 요소의 키를 모은 반복 가능한(이터러블)객체를 반환함
map.values()
각 요소의 값을 모은 이터러블 객체를 반환함
map.entries()
요소의 [키, 값]을 한 쌍으로 하는 이터러블 객체를 반환함

📌이터러블 객체는 for...of 반복문의 기초로 쓰인다!


💡Set

  • 값 추가 및 검색
  • 값 삭제
  • 모든 값 제거
  • Set 크기 및 존재 여부 확인
  • 중복을 허용하지 않는 값을 모아 놓은 특별한 컬렉션
  • set에 키가 없는 값이 저장됨

<주요 메서드>

new set(iterable)
셋을 생성, 이터러블 객체를 전달받으면 그 안의 값을 복사해 셋에 넣어줌
set.add(value)
값을 추가하고 셋 자신을 반환
set.delete(value)
값을 제거, 호출 시점에 셋 내에 값이 있어서 제거에 성공하면 true, 아니면 false를 반환
set.has(value)
셋 내에 값이 존재하면 true, 아니면 false를 반환
set.clear()
셋을 비워주기
set.size()
셋에 몇 개의 값이 있는지 카운트

<set의 요소에 반복 작업하기>

set.keys()
셋 내의 모든 값을 포함하는 이터러블 객체를 반환
set.values()
'set.key'와 동일한 작업 수행, 맵과의 호환성을 위해 만들어진 메서르
set.entries()
셋 내의 각 값을 이용해 만든 [value, value] 배열을 포함하는 이터러블 객체를 반환, 맵과의 호환성을 위해 만들어짐

profile
웰씽킹_나는 경쟁력을 갖춘 FE개발자로 성장할 것이다.

0개의 댓글