👋 콜백 함수, 삭제, 지우기 - forEach(), delete(), clear()
1. forEach()
-
Set
인스턴스를 반복하면서callBack
함수 호출map()
,filter()
등의callback
함수가 동반되는 메소드 사용 불가
-
callbak
함수에 넘겨주는 파라미터value
,key(value)
,Set
인스턴스
const obj = new Set(['one', () => {}]); function callback(value, key, set) { console.log(value); } obj.forEach(callback); // 실행결과 // one // () => {}
- 콜백 함수에서
this
사용
const obj = new Set(['one', 'two']); function callback(value, key, set) { console.log(`${value}, ${this.check}`); } obj.forEach(callback, { check: 'ABC' }); // 콜백 함수에서 this가 forEach()의 두 번째 파라미터에 작성한 오브젝트를 참조하게 하려면 // 일반 함수로 작성해야 함 // 실행결과 // one, ABC // two, ABC
2. delete()
Set
인스턴스에서 파라미터 갑솨 같은 엘리먼트 삭제-
같은
value
가 있어 삭제에 성공하면true
반환- 삭제에 실패하면
false
반환
const obj = new Set(['one', 'two']); console.log(obj.delete('one')); // true console.log(obj.delete('one')); // false
- 삭제에 실패하면
3. clear()
-
Set
인스턴스의 모든 엘리먼트를 지움Set
인스턴스를 삭제하는 것은 아님, 따라서value
를 추가할 수 있음
const obj = new Set(['one', 'two']); console.log(obj.size); // 2 obj.clear(); console.log(obj.size); // 0 obj.add('one'); console.log(obj.size); // 1