[JavaScript] set()

realzu·2022년 9월 21일
0

💛 about JavaScript

목록 보기
12/24

📍 Set

Set은 중복을 허용하지 않는 컬렉션이다.

// Set 생성
let tmp = new Set();

// 값 추가
tmp.add('a');
tmp.add('a');
tmp.add('b');

'a' 라는 값을 중복으로 추가해도 {'a', 'a', 'b'}가 아닌 {'a', 'b'}가 담긴다. 중복된 값은 배제하기 때문이다.

// 값 제거
tmp.delete('a');

// 값 존재 확인
tmp.has('b');

has의 경우, Set 내에 값이 존재하면 true, 없으면 false를 반환한다.

// Set 비우기
tmp.clear();

// Set 개수
tmp.size;

clear는 기존에 있는 Set의 값들을 모두 제거한다.
size는 Set에 몇 개의 값이 있는지 숫자로 나타낸다.

응용 : 배열의 중복 확인

배열 메서드인 find()는 배열 내의 요소들을 모두 확인해 중복을 찾아내기 때문에, 성능 면에서 Set에 비해 낮다. 따라서 Set을 이용한 배열의 중복을 확인해보자.

let arr = ['a', 'a', 'b', 'c']; // 기존 배열

let mySet = new Set(arr); // Set 생성

mySet.has('b'); // true

let arr2 = [...mySet]; // ['a', 'b', 'c']

arr이라는 기존의 배열을 Set 자료형으로 변환해 mySet이라는 변수로 만들었다. 이를 통해 중복을 제거하고, 'b'라는 값이 있는지 확인한다.
따라서 arr2 배열은 기존의 arr 배열에서 중복을 제거하여 유일성을 갖는 배열이다.


cf)
https://ko.javascript.info/map-set
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set
https://velog.io/@reasonz/2022.05.13-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-Map-Set-%EC%9E%90%EB%A3%8C%ED%98%95

profile
부딪히지 않으면 아무 일도 일어나지 않는다 👊

0개의 댓글