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.

delete()Set インターフェイスのメソッドで、指定された値がこの集合にあれば、取り除きます。

試してみましょう

const set1 = new Set(); set1.add({ x: 10, y: 20 }).add({ x: 20, y: 30 }); // Delete any point with `x > 10`. set1.forEach((point) => { if (point.x > 10) { set1.delete(point); } }); console.log(set1.size); // Expected output: 1 

構文

js
setInstance.delete(value) 

引数

value

Set から取り除く要素の値です。

返値

true ならば value が既に Set に存在していたことを表します。そうでなければ false を返します。

delete() メソッドの使用

js
const mySet = new Set(); mySet.add("foo"); mySet.delete("bar"); // 削除するべき要素が見つからなければ false を返す mySet.delete("foo"); // 正常に要素を削除出来れば true を返す mySet.has("foo"); // 存在しない要素を確認すると false を返す 

Set からオブジェクトを削除する

オブジェクト同士は参照で比較されるため、元のオブジェクトへの参照を保持していない場合は、個々のプロパティをチェックして削除する必要があります。

js
const setObj = new Set(); // 新しいセットを作成 setObj.add({ x: 10, y: 20 }); // セットにオブジェクトを追加 setObj.add({ x: 20, y: 30 }); // セットにオブジェクトを追加 // `x > 10` のポイントを削除 setObj.forEach((point) => { if (point.x > 10) { setObj.delete(point); } }); 

仕様書

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

ブラウザーの互換性

関連情報