JavaScript의 Set 객체는 고유한 값의 집합을 저장하는 데이터 구조입니다.
ES6에서 도입된 Set은 배열과 비슷하지만,
중복된 값을 허용하지 않으며, 순서를 유지합니다.
Set의 특징
고유한 값: Set은 중복된 값을 저장하지 않습니다.
데이터 타입: Set은 원시값(문자열, 숫자 등)뿐만 아니라 객체, 배열 등 모든 데이터 타입을 저장할 수 있습니다.
순서 유지: Set은 요소가 삽입된 순서를 유지합니다.
동적 크기: Set의 크기는 동적으로 변하며, .size 속성을 통해 현재 저장된 요소의 개수를 쉽게 확인할 수 있습니다.
Set 생성
const mySet = new Set();
Set에 요소 추가
add(value) 메서드를 사용하여 Set에 값을 추가할 수 있습니다.
mySet.add(1);
mySet.add(2);
mySet.add(3);
mySet.add(2); // 중복된 값이므로 추가되지 않음
Set에서 요소 접근
Set은 인덱스를 사용하여 요소에 직접 접근할 수는 없지만,
has(value) 메서드를 사용하여 특정 값이 Set에 존재하는지 확인할 수 있습니다.
console.log(mySet.has(2)); // true 출력
console.log(mySet.has(4)); // false 출력
Set의 크기 확인
.size 속성을 사용하여 Set에 있는 요소의 개수를 확인할 수 있습니다.
console.log(mySet.size); // 3 출력 (1, 2, 3)
Set에서 요소 삭제
delete(value) 메서드를 사용하여 특정 값을 Set에서 삭제할 수 있습니다.
mySet.delete(2);
console.log(mySet.size); // 2 출력 (1, 3)
Set의 모든 요소 삭제
clear() 메서드를 사용하여 Set의 모든 요소를 삭제할 수 있습니다.
mySet.clear();
console.log(mySet.size); // 0 출력
Set의 요소 반복
Set 객체는 forEach() 메서드를 사용하여 각 요소를 반복할 수 있습니다.
또한 for...of 문을 사용하여도 반복할 수 있습니다.
mySet.forEach(value => {
console.log(value);
});
// 또는 for...of 문
for (const value of mySet) {
console.log(value);
}
Set의 배열 변환
Set 객체를 배열로 변환할 수 있습니다.
Array.from() 또는 전개 연산자(...)를 사용할 수 있습니다.
const arrayFromSet = Array.from(mySet);
console.log(arrayFromSet); // 배열로 변환된 값 출력
const anotherArrayFromSet = [...mySet];
console.log(anotherArrayFromSet); // 배열로 변환된 값 출력
Set의 활용
중복 제거: 배열에서 중복된 값을 제거하는 데 유용합니다.
const numbers = [1, 2, 3, 1, 2, 4];
const uniqueNumbers = new Set(numbers);
console.log([...uniqueNumbers]); // [1, 2, 3, 4]
데이터의 존재 여부 확인: 특정 값이 존재하는지 확인할 때 유용합니다.
'개발' 카테고리의 다른 글
js 불변객체 (0) | 2024.11.06 |
---|---|
js 데이터 타입 과 메모리 관리 (4) | 2024.11.05 |
js Map (0) | 2024.11.05 |
js 일급 객체로서의 함수 (0) | 2024.11.05 |
js ES6 (0) | 2024.11.05 |
댓글