개발

js Set

explosion149 2024. 11. 5.

 

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

댓글

💲 추천 글