09. Set

8114 단어 JS개념setJS개념

📌 9-1 Set이란?

자바스크립트의 내장 메서드로 자료형에 상관없이 모든 값을 넣을 수 있다.

💡 Set 객체의 인자들은 중복값을 가질 수 없다.
💡 new Set()으로 빈 Set객체를 생성한다.
💡 Set함수 인자로 배열을 넣을 수 있다.

📌 9-2 Set의 중복제거

Set메서드를 이용해서 배열 중복 제거해보기.

const arr = [1,2,3,3,3,4,4,4,5,5];
const mySet = new Set(arr); // Set메서드 안에 인자로 배열만 올 수 있다.
console.log(mySet); // Set(5) { 1, 2, 3, 4, 5 } 출력

이와 같이 중복이 제거되어 Set객체에 담기게 된다. Set객체에 담긴 인자들을 다시 배열로 반환해보자.

const arr = [1,2,3,3,3,4,4,4,5,5];
const mySet = new Set(arr);
const newArr = [...mySet]; // 스프레이드 연산자를 사용하여 Set객체 안에 있는 인자들을 복사한다.
console.log(newArr); // [ 1, 2, 3, 4, 5 ] 출력

📌 9-3 Set의 메서드

  1. Set.prototype.add() => Set 객체에 인자를 추가한다.
  2. Set.prototype.has() => Set 객체 안에 has(인자)가 있으면 true 없으면 fasle를 반환한다.
  3. Set.prototype.delete() => Set 객체에 인자를 삭제한다.
  4. Set.prototype.clear() => Set 객체를 빈 Set 객체로 초기화한다.
  5. Set.size => 메서드는 아니고 프로퍼티지만 주로 Set안에 인자의 개수를 확인한다.
const mySet = new Set(); // Set객체 생성
console.log(mySet.add(3)); // Set(1) { 3 } 출력
console.log(mySet.add(3)); // Set(1) { 3 } 출력 중복이므로 Set에 인자가 들어가지 않는다.
console.log(mySet.add(1)); // Set(2) { 3, 1 } 출력
console.log(mySet.add(2)); // Set(3) { 3, 1, 2 } 출력
console.log(mySet.has(1)); // true 출력
mySet.delete(3);
console.log(mySet);
console.log(mySet.size) // 2 출력 프로퍼티이므로 절대 함수처럼 사용하면 안된다. Set.size() X
mySet.clear(); 
console.log(mySet); // // Set(0) {} 출력

좋은 웹페이지 즐겨찾기