많은 양의 데이터를 관리 하다보면, 자주 사용해야 되는 기능 중, '중복 요소 없는 데이터'를 만드는 기능이 있습니다.
물론, 이런 기능들은 반복문을 돌려주며, 하나하나 제거해서 해결하는 방법도 있지만, 컴퓨팅 자원도 많이 소모 할 뿐만 아니라, 무엇 보다도 만들기 귀찮습니다....
그래서 중복 요소를 제거하는 가장 쉬운 방법인, Set 함수에 대해 알아 보겠습니다.
(정확히는 생성자 함수 입니다.)

1. set이란?
- Set은 중복되지 않는 유일한 값들의 집합을 저장하는 객체입니다.
- 값의 순서는 삽입된 순서대로 유지됩니다.
2.주요 메서드
| .add(value) | 값을 추가 |
| .delete(value) | 특정 값 제거 |
| .has(value) | 해당 값이 존재하는지 확인 (true/false) |
| .clear() | 모든 값 제거 |
| .size | Set의 요소 개수 반환 |
3. set을 다시 배열로 만드는 법

두 가지 방법으로, 다시 배열로 만들 수 있습니다. 특히, set은 인덱스가 없기에, 인덱스를 활용하고 싶을 경우 필히 배열로 변환하는 과정이 필용합니다.
4. set 순회

위의 예시처럼 두가지 방법으로 순회하여 , 요소 하나하나를 찾고 사용할 수 있습니다.
5. 배열과의 비교
특징 Set Array
| 중복 허용 | ❌ 불가 | ✅ 가능 |
| 순서 보장 | ✅ 삽입 순서 유지 | ✅ 인덱스로 순서 유지 |
| 탐색 성능 | ✅ has()는 빠름 | ❌ includes() 느림 (O(n)) |
| 메서드 다양성 | ❌ 상대적으로 적음 | ✅ map, filter 등 풍부 |
6. 정리
set은 처음 보면 복잡해 보이지만, 쉽게 생각해서 중복을 제거해주는 함수라고 생각하고 사용하면 됩니다.
다만, 배열과는 다르게 인덱스가 없고, 배열에서만 쓸수 있는 여러 메서드를 사용하지 못합니다.
그러니 그 부분만 주의해서, 필요할때 배열과 set을 왔다갔다 하며 사용하면, 더 편하게 많은 수의 자료를 관리 할수 있을 겁니다.
'공부 내용 정리' 카테고리의 다른 글
| 리엑트 state와 props 란? (0) | 2025.05.27 |
|---|---|
| Map 사용법 (0) | 2025.05.15 |
| 자바스크립트 입력받기 (터미널) (2) | 2025.05.13 |
| 자바스크립트로 코딩 시작해보기! (0) | 2025.05.12 |
| JAVA스크립트 없이, "맨 위로 가는 버튼" 만들기 (0) | 2025.05.09 |