👋 콜백 함수, 삭제, 지우기 - 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