Set.prototype.delete()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Set 인스턴스의 delete() 메서드는 지정한 요소가 Set 안에 있다면 Set에서 제거합니다.

시도해보기

구문

js
setInstance.delete(value)

매개변수

value

Set 객체에서 제거할 요소의 값.

반환 값

value가 이미 Set에 있으면 true, 그렇지 않으면 false.

예제

delete() 사용하기

js
const mySet = new Set();
mySet.add("foo");

console.log(mySet.delete("bar")); // false; 삭제하기 위한 "bar" 요소가 없습니다.
console.log(mySet.delete("foo")); // true; 성공적으로 삭제되었습니다.

console.log(mySet.has("foo")); // false; "foo" 요소가 더 이상 존재하지 않습니다.

Set 에서 객체를 제거하기

객체는 참조로 비교되기 때문에 원본 객체에 대한 참조가 없는 경우 개별 속성을 확인하여 삭제해야 합니다.

js
const setObj = new Set(); // 새로운 Set을 생성합니다.

setObj.add({ x: 10, y: 20 }); // Set에 새로운 객체를 추가합니다.

setObj.add({ x: 20, y: 30 }); // Set에 새로운 객체를 추가합니다.

// `x > 10`인 point 를 삭제합니다.
setObj.forEach((point) => {
  if (point.x > 10) {
    setObj.delete(point);
  }
});

명세서

Specification
ECMAScript Language Specification
# sec-set.prototype.delete

브라우저 호환성

BCD tables only load in the browser

같이 보기