본문 바로가기

Set 객체 본문

개발/알쓸코잡

Set 객체

자전하는명왕성 2023. 1. 26. 13:37
반응형

Set 은 유일한 값을 저장할 수 있는 객체다.

배열의 형태를 갖는 객체 데이터로, 형태는 아래와 같다.

 

const newSet = new Set()

typeof newSet // 'object'

Array.isArray(newSet) // false

newSet // Set(0) {  __proto__: { ...중략  }}

 

set 은 중복 데이터 없이 고유한 값만 저장이 가능하다.

 

// 예시
const newSet = new Set([1,2,3,2,2])

console.log(newSet)

// Set(3) {
//  1,
//  2,
//  3,  __proto__: {}}

2를 중복으로 포함하고 있는 배열을 Set 객체에 집어넣게 되면, Set은 위와 같이 중복된 값 없이 한번씩만 저장하게 된다.

 

그리고 아래와 같이 추가, 삭제, 조회, 길이, 리셋과 같은 명령어가 가능하다.

// 추가
newSet.add(5) // set(4) {1,2,3,5}

// 삭제 
newSet.delete(5) // set(3) {1,2,3}

// 조회
newSet.has(2)  // true 존재 여부를 불린값으로 반환

// 데이터 길이 조회
newSet.size // 3

// set 리셋
newSet.clear() // set(0) {}

// 추가로 forEach
// 객체이므로 key,value 또한 사용이 가능하다.

 

마지막으로 아래와 같은 방식으로 우리에게 익숙한 배열로의 변환도 가능하다.

// Array.from 을 사용하여 배열로 변환
const newSet = new Set([1,2,3])

const arr = Array.from(newSet)
console.log(arr) // [1,2,3]

// 스프레드 연산자를 활용하여 배열로 변환
const arr2 = [...newSet]
console.log(arr2) // [1,2,3]

 

 

반응형

'개발 > 알쓸코잡' 카테고리의 다른 글

JWT (JSON Web Token)  (0) 2023.01.30
DB Schema & ERD  (0) 2023.01.26
원시자료형(primitive type) & 참조자료형(reference type)  (0) 2023.01.26
about Git  (0) 2023.01.25
OOP(객체지향 프로그래밍) / FP(함수형 프로그래밍)  (0) 2023.01.25
Comments