Javascript/etc

[ Javascript ] - map과 set

algml0703 2022. 9. 20. 02:13
반응형

Map과 Set

map과 set은 es6에서 새롭게 등장한 자료구조 타입이다.

Map

map은 객체와 유사하게 키와 값으로 데이터를 저장하는 반면, 문자열만을 키로 가질 수 있는 객체와 달리 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 안의 모든 요소를 제거한다.
map.size : map의 요소 즉 key의 개수를 반환한다.
map.keys() : 모든 key 요소를 반환한다.  // for of를 통해 각 요소에 접근가능하다.
map.values() : 모든 값을 반환한다.  // for of를 통해 각 요소에 접근가능하다.
map.entrires() : [ key, value] 형태로 모든 key와 값을 반환한다.  // for of를 통해 각 요소에 접근가능하다.

기본적으로 new Map()을 통해 생성 시 초기에 값을 넣어주거나, 생성 후에 map.set으로 key와 값을 저장해줄 수 있다. 단 초기 생성시에 값을 저장하는 경우에는 [[key, value]]형식으로 배열안의 배열에 key, value를 넣어주는 식으로 작성한다.

map.set은 배열 안에 넣지 않고 그대로 인자 2개를 넣는 식으로 작성하여 준다.

map.get(key)을 통해서는 해당 key에 대한 값을 반환하여 준다.

map 은 객체도 key로 가질 수 있다.

map.keys()

map.values()

map.entrires()


Set

set은 중복되지 않는 값만을 허용하는 모음입니다. key 없이 값만을 저장합니다.

주요메서드
new Set(iterable) : set을 생성하여 줍니다. 초기에 값을 넣어 생성할 수도 있습니다.
set.add(value) : 해당 값을 저장하고, set 자기 자신을 반환하여 줍니다. 기존에 set에 저장된 값과 중복된 값을 추가로 저장하려는 경우에는 set내에 저장된 값의 변화가 발생하지 않는다. 
set.delete(value) : 해당 값 존재 여부에 따라, 존재시에는 해당값 제거 후 true를 반환하여, 해당값이 존재하지 않는 경우에는 false를 반환합니다.
set.has(value) : 해당 값의 존재 여부에 따라 true / false를 반환합니다.
set.clear() : set의 값을 모두 제거합니다.
set.size : set에 저장된 값의 갯수를 반환합니다.
set.keys() : 기본적으로 모든 값을 반환한다.
set.values()
set.entries() 

new Set()을 통해 생성하며, 안에 초기값을 넣어줄 수 도 있다.

set.add()를 통해 값을 저장하며, 중복된 값은 허용되지 않는다.

for of를 통해 각 값에 접근할 수 있다.

 

 

[ 출처 ] 

https://ko.javascript.info/map-set

반응형