はじめに
この実験では、1 つの反復可能オブジェクトの値のサブセットが別の反復可能オブジェクトに含まれているかどうかを確認する方法を探ります。 Set コンストラクタと Array.prototype.every() を使って、最初の反復可能オブジェクトのすべての値が 2 番目の反復可能オブジェクトに存在するかどうかを確認する関数を作成します。この実験が終了するまでに、JavaScript におけるセットの使い方をより深く理解するようになります。
反復可能オブジェクトのサブセットが別の反復可能オブジェクトに含まれているかどうかを確認する
コーディングを練習するには、ターミナル/SSH を開いて node と入力します。この関数は、重複する値を除外して、最初の反復可能オブジェクトが 2 番目の反復可能オブジェクトのサブセットであるかどうかを確認します。
これを達成するには、次のことができます。
Setコンストラクタを使って、各反復可能オブジェクトから新しいSetオブジェクトを作成します。Array.prototype.every()とSet.prototype.has()を使って、最初の反復可能オブジェクトのすべての値が 2 番目の反復可能オブジェクトに含まれているかどうかを確認します。
以下はサンプルの実装です。
const subSet = (a, b) => {
const setA = new Set(a);
const setB = new Set(b);
return [...setA].every((value) => setB.has(value));
};
2 つのセットを渡して比較することで subSet 関数を使うことができます。たとえば:
subSet(new Set([1, 2]), new Set([1, 2, 3, 4])); // true
subSet(new Set([1, 5]), new Set([1, 2, 3, 4])); // false
まとめ
おめでとうございます!反復可能オブジェクトのサブセットの実験を完了しました。技術力を向上させるために、LabEx でさらに多くの実験を行って練習してください。