反復可能オブジェクトのスーパーセット

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、1 つの反復可能オブジェクトが別の反復可能オブジェクトのスーパーセットであるかどうかを判断するために、Set コンストラクタと Array.prototype.every() メソッドをどのように使用するかを検討します。この実験では、最初の反復可能オブジェクトが 2 番目の反復可能オブジェクトのすべての要素を含み、重複は除外されているかどうかをチェックする関数の作成方法を説明します。この実験が終了するとき、JavaScript でセットを操作する方法をより深く理解しているはずです。

1 つのセットが別のセットのスーパーセットであるかどうかをチェックする関数

1 つのセットが別のセットのスーパーセットであるかどうかをチェックするには、superSet() 関数を使用します。まず、ターミナル/SSH を開き、コーディングの練習を始めるために node と入力します。次に、次の手順を使用します。

  • Set コンストラクタを使用して、各反復可能オブジェクトから新しい Set オブジェクトを作成します。
  • Array.prototype.every()Set.prototype.has() を使用して、2 番目の反復可能オブジェクトの各値が最初の反復可能オブジェクトに含まれていることを確認します。
  • 最初の反復可能オブジェクトが 2 番目の反復可能オブジェクトのスーパーセットであり、重複する値を除外した場合、関数は true を返します。それ以外の場合は false を返します。
const superSet = (a, b) => {
  const sA = new Set(a),
    sB = new Set(b);
  return [...sB].every((v) => sA.has(v));
};

1 つのセットが別のセットのスーパーセットであるかどうかをチェックするには、2 つのセットを引数として superSet() を使用します。

superSet(new Set([1, 2, 3, 4]), new Set([1, 2])); // true
superSet(new Set([1, 2, 3, 4]), new Set([1, 5])); // false

まとめ

おめでとうございます!Iterable のスーパーセットの実験を完了しました。LabEx でさらに多くの実験を行って、技術力を向上させることができます。