Set 생성 : 자바스크립트에서 Set는 클래스이므로 new 키워드와 생성자를 사용하여 생성한다.
var set = new Set(); // Set(0) {size : 0}
var numSet = new Set([1,2,3]); // Set(3) {1,2,3}
set.add(value) : 세트에 새로운 값을 추가한다.
set.add(1); // Set(1) {1}
set.add("A"); // Set(2) {1, 'A'}
set.add(true); // Set(3) {1, 'A', true}
set.delete(value) : 세트에 특정 값을 삭제한다.
// set = Set(3) {1, 'A', true} 일 때,
set.delete(1); // 세트에 1이 있어서 값을 삭제할 수 있으므로 삭제 후 true를 리턴
set.delete(2); // 세트에 삭제할 값이 없으므로 false를 리턴
set.has(value) : 세트에 특정 값이 존재하는지 확인한다.
// set = Set(3) {1, 'A', true} 일 때,
if (set.has("A")) {
console.log("A는 세트에 존재합니다."); // A는 세트에 존재합니다.
}
set.size : 세트의 길이를 확인한다. (배열에서 array.length와 동일)
console.log(set.size); // 2
set.clear() : 세트 객체의 모든 값을 제거한다.
set.clear(); // Set(0) {size: 0}
세트 순회 : 세트에 저장되어 있는 모든 값을 순회한다.
//배열 순회와 동일
for (var num of numSet){
console.log(num);
}
numSet.forEach((num) => console.log(num));
배열 -> 세트
var array = [1,2,3,3,3,4,5];
var set = new Set(array);
console.log(set); // Set(5) { 1, 2, 3, 4, 5 }
세트 -> 배열
var array = [1,2,3,3,3,4,5];
var set = new Set(array); // Set(5) {1,2,3,4,5}
var newArr = Array.from(set);
console.log(newArr); // [1,2,3,4,5]
var array = [1,2,3,3,3,4,5];
var set = new Set(array); // Set(5) {1,2,3,4,5}
var newArr = [...set];
console.log(newArr); // [1,2,3,4,5]
var array = [1,2,3,3,3,4,5];
var set = new Set(array); // Set(5) {1,2,3,4,5}
var newArr = [];
set.forEach((element,index) => {
newArr.push(element);
});
console.log(newArr); // [1,2,3,4,5]