[JS100제] 문제21 : set은 어떻게 만드나요?

youngseo·2022년 2월 16일
0

JS100제

목록 보기
12/25
post-thumbnail

문제21 : set은 어떻게 만드나요?

다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오.

1) var x = {1, 2, 3, 5, 6, 7};
2) var x = {};
3) var x = new Set('javascript');
4) var x = new Set(range(5));
5) var x = new Set();

정답

3, 5

오답4 : 기본적으로 range라는 함수는 자바스크립트 내부에 존재하지 않습니다.


Set

Set객체는 value만을 저장하며 중복을 허용하지 않는 Collection입니다.

set 생성

Set은 다양한 자료형을 value로 사용이 가능합니다.

let set = new Set();
let num = new Set([1, 2, 3, 4, 5]);
let str = new Set("Hello!");

console.log(set); // Set(0) {}
console.log(num); // Set(5) { 1, 2, 3, 4, 5 }
console.log(str); // Set(5) { 'H', 'e', 'l', 'o', '!' }

str의 경우 6개의 알파벳을 넣지만, set은 중복을 허용하지 않기 때문에 중복이 제거되어 총 5개만 저장이 되게 됩니다.

set 추가/ 확인/ 삭제

//add
set.add(1).add(10).add(20);
console.log(set); // Set(3) { 1, 10, 20 }

//has
console.log(set.has(10)); //true

//delete
set.delete(1);
console.log(set); //Set(2) { 10, 20 }

set.add() 호출 시 set이 반환되므로 체이닝(chaining)이 가능합니다.

set 반복문

Collection객체인 Set이 가지고 있는 iterator속성을 이용하여 for...of구문을 통해 반복문 수행이 가능합니다.

let str = new Set('Hello!")
                  
console.log(str);//Set(5) { 'H', 'e', 'l', 'o', '!' }

for(let item of str) console.log(item); // H e l o !
for(let item of str.keys()) console.log(item); // H e l o !
for(let item of str.values()) console.log(item); // H e l o !
for(let item of str.entries()) console.log(item);
//[ 'H', 'H' ] [ 'e', 'e' ] [ 'l', 'l' ] [ 'o', 'o' ] [ '!', '!' ]

출처


코드페스티벌

0개의 댓글