- 配列を使用した方法:
const set1 = [1, 2, 3, 4, 5];
const set2 = [4, 5, 6, 7, 8];
const intersection = set1.filter(element => set2.includes(element));
console.log(intersection); // [4, 5]
上記のコードでは、filter
関数を使用してset1
の各要素を検証し、set2
に含まれているかどうかをチェックしています。共通の要素だけがintersection
に格納されます。
- Setオブジェクトを使用した方法:
const set1 = new Set([1, 2, 3, 4, 5]);
const set2 = new Set([4, 5, 6, 7, 8]);
const intersection = new Set([...set1].filter(element => set2.has(element)));
console.log([...intersection]); // [4, 5]
ここでは、Set
オブジェクトを使用して集合を作成し、filter
関数を使用して共通の要素をフィルタリングしています。最終的な結果は再びSet
オブジェクトとして得られるため、必要に応じて配列に変換する必要があります。
- ES6の新しい構文を使用した方法:
const set1 = new Set([1, 2, 3, 4, 5]);
const set2 = new Set([4, 5, 6, 7, 8]);
const intersection = new Set([...set1].filter(element => set2.has(element)));
console.log([...intersection]); // [4, 5]
この方法は、ES6の新しい構文であるスプレッド演算子を使用しています。スプレッド演算子は、Set
オブジェクトの要素を展開して配列に変換します。
これらはいくつかのJavaScriptにおける集合の共通部分を操作する方法の例です。他にもいくつかの方法がありますが、これらの例を参考にしてください。