Set.prototype.delete()

The delete() method removes a specified value from a Set object, if it is in the set.

Try it

Syntax

delete(value)

Parameters

value

The value to remove from Set.

Return value

Returns true if value was already in Set; otherwise false.

Examples

Using the delete() method

const mySet = new Set();
mySet.add('foo');

mySet.delete('bar'); // Returns false. No "bar" element found to be deleted.
mySet.delete('foo'); // Returns true. Successfully removed.

mySet.has('foo');    // Returns false. The "foo" element is no longer present.

Deleting an object from a set

Because objects are compared by reference, you have to delete them by checking individual properties if you don't have a reference to the original object.

const setObj = new Set(); // Create a new set.

setObj.add({ x: 10, y: 20 }); // Add object in the set.

setObj.add({ x: 20, y: 30 }); // Add object in the set.

// Delete any point with `x > 10`.
setObj.forEach((point) => {
  if (point.x > 10) {
    setObj.delete(point);
  }
});

Specifications

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

Browser compatibility

BCD tables only load in the browser

See also