Übermenge von Iterable

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man den Set-Konstruktor und die Array.prototype.every()-Methode verwendet, um zu bestimmen, ob eine Iterable eine Supermenge einer anderen ist. Das Lab führt Sie Schritt für Schritt durch die Erstellung einer Funktion, die überprüft, ob die erste Iterable alle Elemente der zweiten Iterable enthält, wobei Duplikate ausgeschlossen werden. Am Ende des Labs wirst Du ein besseres Verständnis dafür haben, wie man mit Sets in JavaScript umgeht.

Funktion, um zu überprüfen, ob eine Menge eine Supermenge einer anderen Menge ist

Um zu überprüfen, ob eine Menge eine Supermenge einer anderen Menge ist, verwenden Sie die superSet()-Funktion. Öffnen Sie zunächst das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen. Verwenden Sie dann die folgenden Schritte:

  • Erstellen Sie aus jeder Iterable ein neues Set-Objekt, indem Sie den Set-Konstruktor verwenden.
  • Verwenden Sie Array.prototype.every() und Set.prototype.has(), um zu überprüfen, ob jeder Wert in der zweiten Iterable im ersten enthalten ist.
  • Die Funktion gibt true zurück, wenn die erste Iterable eine Supermenge der zweiten ist, wobei Duplikatewerte ausgeschlossen sind. Andernfalls gibt sie false zurück.
const superSet = (a, b) => {
  const sA = new Set(a),
    sB = new Set(b);
  return [...sB].every((v) => sA.has(v));
};

Verwenden Sie superSet() mit zwei Mengen als Argumenten, um zu überprüfen, ob eine Menge eine Supermenge einer anderen Menge ist.

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

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Superset of Iterable" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.