Set 한 줄 요약
Set은 "중복 없는 값 목록(넣은 순서는 유지됨)"이다.
배열처럼 순회할 수 있지만, 같은 값은 중복 저장되지 않는다.
처음 보면 배열이랑 뭐가 다르지? 싶을 수 있다.
하지만 Set은 아래 2가지에서 정말 자주 쓴다.
- 중복 제거
- 값 존재 여부 확인 (
has)
먼저 감 잡기 (배열과 차이)
- Array(배열): 순서 있는 목록, 중복 허용, 인덱스 접근 가능 (
arr[0]) - Set: 중복 없는 값 목록, 넣은 순서 유지, 포함 여부 확인에 좋음 (
set.has(value)) 인덱스 접근 / 정렬 / map / filter중심이면 → Array중복 제거 / 선택 상태 / 포함 여부 체크중심이면 → Set
용어 10초 정리
블로그/문서에서 아래 단어가 자주 나오는데, 처음엔 이렇게 이해하면 충분하다.
- 컬렉션(Collection): 값을 여러 개 담아두는 자료형/자료구조 (예: Array, Set, Map)
- 이터러블(Iterable):
for...of로 순회할 수 있는 값 (예: Array, Set, Map, 문자열)
즉, Set은 "컬렉션"이고, 동시에 "이터러블" 이다.
- 컬렉션이라서 값을 여러 개 담을 수 있고
- 이터러블이라서
for...of로 순회할 수 있다
언제 Set을 쓰면 좋은가?
아래 상황이면 Set을 먼저 떠올리면 된다.
- 배열에서 중복 제거하고 싶을 때
- "이 값 있나?"를 자주 확인할 때
- 선택된 ID/태그/권한 목록처럼 "집합" 느낌이 강할 때
실무에서 가장 많이 쓰는 1줄 (배열 중복 제거)
const unique = [...new Set(arr)];
new Set(arr)→ 중복 제거[... ]→ 다시 배열로 변환
이 한 줄만 알아도 Set의 핵심 절반은 이해한 것.
핵심 메서드 5개만 먼저 보기
add(value): 값 추가 (중복이면 무시)has(value): 값 존재 여부 확인 (true / false)delete(value): 값 삭제clear(): 전체 삭제size: 저장된 값 개수
const set = new Set();
set.add('apple');
set.add('banana');
set.add('apple'); // 중복이라 무시됨
console.log(set.has('apple')); // true
console.log(set.size); // 2
Set이란?
Set은 중복 없는 값 목록(넣은 순서는 유지됨) 이다.
특징 요약:
- 같은 값을 여러 번 넣어도 1개만 저장됨
- 숫자, 문자열, 객체 등 다양한 값 저장 가능
- 넣은 순서대로 순회 가능
for...of, 전개 연산자(...) 사용 가능
'FrontEnd > JavaScript' 카테고리의 다른 글
| JavaScript 배열 고차 함수 - some, every, find, findIndex (조건 탐색 편) (0) | 2025.12.10 |
|---|---|
| JavaScript 배열 고차 함수 - forEach, map, filter, reduce (0) | 2025.12.10 |
| JavaScript 기본기 정리 – 반복문·배열·문자열·Math 한 장에 모으기 (0) | 2025.11.04 |
| JavaScript 컬렉션 - Array (0) | 2025.09.09 |
| JavaScript 컬렉션 - Map (0) | 2025.09.09 |