본문 바로가기
컴퓨터 언어/JavaScript

[JavaScript] 셋(Set)

by 테크케찰 2021. 7. 30.

셋(Set)은 중복을 허용하지 않는 값을 모은 컬렉션입니다.

아래 예제 코드를 보면서 셋에 대해 알아보도록 합시다.

let set = new Set(); //set을 선언해 줍니다. ( ) 안에 iterable 객체를 넣어 Set 객체의 초기 값을 설정해줄 수 있습니다.

let john = 'John';
let peter = 'Peter';
let mary = 'Mary';

set.add(john); //set에 요소를 추가해줍니다.
set.add(mary);
set.add(peter);
set.add(john);
set.add(mary);

console.log(set);

set.delete(john); //set에서 특정 요소를 삭제해줍니다.
console.log(set);
console.log(set.has(mary)); //set 내에서 값이 존재하는지를 판단합니다
console.log(set.size); //set의 크기를 반환합니다
set.clear(); //set을 초기화합니다.
console.log(set);

Set도 Map과 마찬가지로 key, value, key-value 쌍만을 모아볼 수 있는 메서드가 있습니다.

set.keys() // 셋 내의 모든 키들을 반환합니다.
set.values() // 셋 내의 모든 값들을 반환합니다.
set.entries() // 셋 내의 모든 키-값 쌍들을 반환합니다.

예제 코드로 살펴보면 다음과 같습니다. 

let set = new Set(); //set을 선언해 줍니다. ( ) 안에 iterable 객체를 넣어 Set 객체의 초기 값을 설정해줄 수 있습니다.

let john = 'John';
let peter = 'Peter';
let mary = 'Mary';

set.add(john); //set에 요소를 추가해줍니다.
set.add(mary);
set.add(peter);
set.add(john);
set.add(mary);

console.log(set.keys());
console.log(set.values());
console.log(set.entries());

예제 코드를 작동시켜보니 Set에서는 key 값과 value 값이 동일한 것 같았습니다.

그래서 key 값과 value 값을 나누는 것이 의미가 있는지 하는 의문이 들었습니다.

이 부분에 대해서는 제가 해답을 찾게 된다면 추후에 관련된 내용을 추가하여 올리도록 하겠습니다.

 

 

참고

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

 

맵과 셋

 

ko.javascript.info

 

'컴퓨터 언어 > JavaScript' 카테고리의 다른 글

[JavaScript] 위크맵(WeakMap)과 위크셋(WeakSet)  (0) 2021.07.30
[JavaScript] Object.keys, values, entries  (0) 2021.07.30
[JavaScript] 맵(Map)  (0) 2021.07.30
[JavaScript] iterable  (0) 2021.07.30
[JavaScript] 배열  (0) 2021.07.29