Set.prototype.delete()
set.delete(value) Returns:
boolean · Updated March 13, 2026 · Map and Set set delete remove
The delete() method removes a specific value from a Set. It returns true if the value existed and was removed, or false if the value didn’t exist.
Syntax
set.delete(value)
Parameters
| Parameter | Type | Description |
|---|---|---|
| value | any | The value to remove from the Set |
Examples
Basic usage
const numbers = new Set([1, 2, 3, 4, 5]);
const deleted = numbers.delete(3);
console.log(deleted);
// true
console.log(numbers.has(3));
// false
console.log(numbers.size);
// 4
Deleting non-existent values
const numbers = new Set([1, 2, 3]);
// Deleting a non-existent value returns false
console.log(numbers.delete(99));
// false
// Set remains unchanged
console.log([...numbers]);
// [1, 2, 3]
Conditional removal
const cache = new Set(['user:1', 'user:2', 'user:3', 'session:abc']);
// Only delete if it exists
function invalidate(key) {
if (cache.has(key)) {
cache.delete(key);
return true;
}
return false;
}
console.log(invalidate('user:1'));
// true
console.log(invalidate('user:99'));
// false
Cleaning up a Set
const items = new Set(['a', 'b', 'c', 'd', 'e']);
// Remove multiple values
['a', 'c', 'e'].forEach(v => items.delete(v));
console.log([...items]);
// ['b', 'd']
Using delete in loops
const data = new Set([1, 2, 3, 4, 5]);
// Remove even numbers
for (const num of data) {
if (num % 2 === 0) {
data.delete(num);
}
}
console.log([...data]);
// [1, 3, 5]
Clearing based on condition
const scores = new Set([10, 25, 30, 50, 100]);
// Remove all scores below 30
for (const score of scores) {
if (score < 30) {
scores.delete(score);
}
}
console.log([...scores]);
// [30, 50, 100]