본문 바로가기

Javascript HashSet

Javascript의 자료형 중 'Set' 이라는 자료형이 있다.

Set 자료형은 간단히 설명하자면

  1. 순서가 없고
  2. 중복이 없는
  3. 배열

이라고 생각하면 쉽다. (물론 배열과는 근본이 다르다.)

사용법은 아래와 같다.

const set1 = new Set([1, 2, 3, 4, 5]);

console.log(set1.has(1));
// expected output: true

console.log(set1.has(6));
// expected output: false

console.log(set1.length);
// expected output: 5


//출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set

 

Set의 장점은 Hash 형태의 자료구조이기 때문에 시간복잡도가 O(1)이며 순회 등의 작업을 하지 않아도 되는 점 등이 있다.

주로 사용하는 속성 및 메소드 목록

set1.length //set1의 길이

set1.add(val) //set1에 val 추가

set1.clear() //set1 모든 요소 제거

set1.delete(val) //set1의 val 제거

set1.forEach(callbackFn[, thisArg]) //set1에 대한 foreach function

set1.has(val) //set1이 val을 가지고 있는지에 대한 boolean 반환

set1.values() //set1의 각 요소를 삽입 순으로 반환

add, delete, has 메소드를 보면 순회가 필요없고 O(1)의 시간복잡도를 가지는 Hash의 특징을 볼 수 있다.

'' 카테고리의 다른 글

json 객체 와일드카드 비스무리하게 사용하기  (0) 2021.02.17
Json 객체 length 구하기  (4) 2021.02.02