Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Set::Set.prototype.differenceインスタンスメソッドの使い方

Set.prototype.difference()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Set.prototype.difference()メソッドは、Setオブジェクト間の差集合を計算し、その結果を新しいSetとして生成するメソッドです。このメソッドは、呼び出し元のSetに含まれる要素のうち、引数として渡された別のSetには含まれていない要素だけを抽出します。そして、それらの要素のみを含む新しいSetインスタンスを返します。

例えば、あるSetが{1, 2, 3}という要素を持ち、別のSetが{2, 3, 4}という要素を持っている場合、最初のSetに対してdifference()メソッドを呼び出し、もう一方のSetを引数に指定すると、{1}だけを含む新しいSetが結果として得られます。これは、最初のSetにのみ存在する要素です。

引数には、Setオブジェクトだけでなく、配列などの反復可能な(iterableな)オブジェクトも指定可能です。このメソッドは元のSetや引数で渡されたSetの内容を変更しない、非破壊的な操作です。常に新しいSetオブジェクトを生成して返します。

複数のデータ集合から特定の要素を除外したり、一方の集合にのみ存在する独自の要素を見つけ出したりする際に非常に有用です。ECMAScript 2023で標準化された新しい機能であり、集合演算を効率的に記述することを可能にします。

公式リファレンス: Set.prototype.difference()

構文(syntax)

1const setA = new Set([1, 2, 3]);
2const setB = new Set([3, 4]);
3const resultDifferenceSet = setA.difference(setB);

引数(parameters)

other

  • other: Set: 差を計算する対象となる別のSetオブジェクト

戻り値(return)

Set

Set.prototype.difference() メソッドは、このSetオブジェクトから、指定された他のSetオブジェクトに含まれる要素を除いた新しいSetオブジェクトを返します。

関連コンテンツ

関連プログラミング言語