본문 바로가기
Programming/JavaScript

JavaScript에서 Set의 특징과 기본적인 사용방법

by 혀코 2020. 8. 9.

안녕하세요. 혀코입니다.

이번 시간에는 JavaScript에서 Set의 특징과 기본적인 사용방법에 대해 알아보겠습니다.

 

JavaScript에서 Set은 다음과 같이 사용합니다.

const set1 = new Set([1, 'apple']);

console.log(set1);

// {1, "apple"}

 

JavaScript에서 Set은 다음과 같은 특징들을 가지고 있습니다.

  • Set의 크기는 변경 가능합니다.
  • Set은 중복되는 동일한 값을 허용하지 않습니다.
  • For Loop을 통해 값을 표시할 수 있습니다.
  • Set는 인덱스 값을 가지지 않습니다.
  • 값을 찾아 삭제하는 것이 Array 보다는 효율적입니다.

 

JavaScript의 Set의 특징들을 자세히 확인해 보겠습니다.

  • Set의 크기는 변경 가능합니다.
const set1 = new Set([1, 'apple']);

set1.add('banana');

console.log(set1);

// {1, "apple", "banana"}

 

  • Set은 중복되는 동일한 값을 허용하지 않습니다.
    다음에서 중복되는 apple 값이 중복되어 표시되지 않는 것을 확인할 수 있습니다.
const set1 = new Set();

set1.add('apple');
set1.add('banana');
set1.add('apple');

console.log(set1);

// {'apple', 'banana'}

 

  • For Loop을 통해 값을 표시할 수 있습니다.
const set1 = new Set();

set1.add(1);
set1.add('apple');
set1.add(2);

for(const el of set1) {
  console.log(el);
}

// 1
// apple
// 2

 

  • Set는 인덱스 값을 가지지 않습니다. 그래서 인덱스 값을 가지고 값에 접근할 수 없습니다. 또한 인덱스 값이 없어서 Set의 값의 순서는 항상 일치하지 않습니다.
const set1 = new Set();

set1.add(1);
set1.add('apple');
set1.add('banana');

console.log(set1[1]);

// undefined

 

  • 값을 찾아서 삭제하는 것이 Array 보다는 효율적입니다. Array에서는 해당 값에 해당하는 인덱스를 찾아서 인덱스값을 가지고 삭제를 했는데, Set에서는 값을 바로 삭제할 수 있어 Array보다 효율적입니다.
const set1 = new Set();

set1.add('apple');
set1.add('banana');
set1.add('coconut');

console.log(set1.has('apple'));

// true

set1.delete('banana');

console.log(set1);

// {'apple', 'coconut')

 

이렇게 JavaScript에서 Set의 특징과 기본적인 사용방법에 대해 알아봤습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다.

댓글