배열과 같은 데이터 집합으로, 중복에 대한 제한이 없는 배열과 달리 중복을 허용하지 않음
new Set()
을 사용해 생성 add()
라는 함수를 사용해 새로운 값을 추가할 수 있음
객체와 같이 키와 값을 연결하는 방식의 데이터 집합
map.size
로 크기를 바로 알 수 있음new Map()
을 사용해 생성함set()
이라는 함수를 사용해 새로운 프로퍼티(키와 값의 쌍)를 추가할 수 있음⇒ Set 은 주로 중복을 제거하거나 값의 유무만을 판단해야 하는 경우에 사용되며, 배열은 특정요소에 접근해야 하는 경우나 가타 인덱스가 필요한 상황에 사용됨.
새로운 set 을 중복을 제거하여 생성함
const arr = [1, 2, 1];
const aSet = new Set(arr);
console.log(aSet); // Set {1, 2}
add()
중복을 허용하지 않고 값을 추가함
delete()
주어진 값을 set 에서 제거함.
console.log(aSet.delete(1)); // true | false
⇒ set 에 없는 값을 제거하려고 시도해도 에러가 발생하지 않고, 반환되는 값으로 해당 값이 없다는 것을 알 수 있음.
has()
주어진 값이 존재하는지 여부에 따라 TRUE | FALSE 반환
clear()
set 에 들어있는 요소들을 모두 제거하고 비어있는 상태로 만듦
size()
는 배열의 length
처럼 저장된 요소의 개수를 반환
forEach()
const aSet = new Set([1, 2, 3, 4, 5]);
aSet.forEach((number) => {
if(number > 3) {
aSet.delete(number);
}
});
console.log(aSet); // {1, 2, 3}
⇒ 키의 순서가 보장되어야 할 때나 객체의 키가 객체에 허용되지 않는 데이터 타입인 경우에 사용되며, 이외에는 객체가 사용됨.
새로운 맵을 생성함
set()
주어진 키와 값을 Map 에 추가함
const aMap = new Map();
aMap.set(1, 'a');
aMap.set(2, 'b');
console.log(aMap); // {1 => 'a', 2 => 'b'}
get()
인자로 전달받은 키에 해당하는 값을 반환함. 키가 존재하지 않을 경우 undefined
를 반환함.
has()
인자로 전달받은 키가 Map 에 존재하는지에 따라 TRUE | FALSE 을 반환함
delete()
인자로 전달받은 키에 해당하는 값을 삭제하고, 삭제 여부를 TRUE | FALSE 을 반환함. 존재하지 않은 키 값을 전달하는 경우 에러가 발생하지 않고 FALSE 을 반환함.
clear()
Map 에 들어있는 property 들을 모두 제거하고 비어있는 상태로 만듦
size()
Map 에 저장된 요소의 개수를 반환함