- 종종 알고리즘 문제를 풀다보면, Set을 사용할 때가 있다.
- 다만, Set은 기존의 배열과 사용되는 메서드가 다르기에 헷갈리지 않도록 글을 남기기로 했다.
Set은 배열같아 보이지만, 배열이 아니다.
Set의 원소들은 모두 유일하다. (중복이 없다)
원소를 삽입한 순서대로 요소를 순회할 수 있다.
NaN과 undefined도 저장할 수 있다.
const dataSet = new Set();
const arr = [1, 'g', 4, 6];
const dataSet = new Set(arr);
const size = dataSet.size;
dataSet.add(1);
dataSet.delete(1); // true(성공) or false(실패)가 리턴된다.
dataSet.clear();
dataSet.has(1); // true or false
const arr = [1, 'g', 4, 6];
const dataSet = new Set(arr);
for(let i of dataSet) {
console.log("set의 요소 :", i);
}
const dataSet = new Set();
dataSet.add(1);
dataSet.add('a');
dataSet.add(1010);
dataSet.delete(1);
console.log(Array.isArray(dataSet));
// false
const arr = Array.from(dataSet);
console.log(Array.isArray(arr), arr);
// true ['a', 1010]
const arr2 = [...dataSet];
console.log(Array.isArray(arr2), arr2);
// true ['a', 1010]
참고 자료 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set