Set
값들의 집합
입력된 순서에 따라 지정된 요소를 반복처리 할 수 있다
Set은 중복 값을 허용하지 않는다
var set = new Set();
set.add(100);
set.add('java');
set.add('oracle');
set.add('html');
set.add('css');
set.add('oracle');
// 요소의 수
console.log(set.size);//5
//.has item 존재 여부 확인
//true false 형태로 반환 하며 indexOf보다 빠르다
console.log(set.has('java'));//true
console.log(set.has('java1'));//false
//.delete 특정요소 삭제
set.delete('css');
console.log(set.size);//4
for(let item of set){
console.log(item);
}
console.log('--------------------------');
set.forEach((val)=>{
console.log(val);
});
console.log('--------------------------');
//Set을 배열로 변환
//Array.from(): 배열로 변환
let arr = Array.from(set);
console.log(arr);
//[]를 이용한 Set 객체생성
let set2 = new Set([10,20,30]);
console.log(set2);
//Set 객체의 모든 요소 제거
set2.clear();
console.log(set2.size);//0
// 객체 저장가능
// 객체는 주소가 저장되므로 속성 및 값은 같지만 obj와 다른객체
let set3 = new Set();
let obj = {subject:'java',score:100};
console.log(obj.subject,obj.score);
set3.add(obj);
set3.add({subject:'java',score:100});
set3.add({subject:'java',score:100});
set3.forEach((item)=>console.log(">"+item.subject+": "+item.score)});
add()
: 추가, size
: 요소수, has()
: 존재여부 등 처음 보는게 많았다 array 처럼 생각해서 length
나 push()
같은걸 쓰지 않게 주의하자
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set
햄버거set도 햄버거 중복해서 안주던데 set()
도 중복안되는구나