Teilmengen und Obermengen
Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy — Lektion 40 von 65.
Eine Menge A ist eine Teilmenge der Menge B, wenn jedes Element von A auch ein Element von B ist. Umgekehrt ist B eine Obermenge von A, wenn sie alle Elemente von A enthält.
Zwei Mengen sind gleich, wenn sie genau dieselben Elemente enthalten. Erstellen wir zum Beispiel einige Tests:
const setA = new Set([1, 2, 3]);
const setB = new Set([1, 2, 3, 4, 5]);
const setC = new Set([1, 2, 3]);
const setD = new Set([6, 7, 8]);Funktion, um zu prüfen, ob setA eine Teilmenge von setB ist:
function isSubset(setA, setB) {
return [...setA].every(element => setB.has(element));
}Funktion, um zu prüfen, ob setA eine Obermenge von setB ist:
function isSuperset(setA, setB) {
return isSubset(setB, setA);
}Funktion zur Überprüfung, ob zwei Mengen gleich sind:
function areEqual(setA, setB) {
return setA.size === setB.size && isSubset(setA, setB);
}Überprüfung der Teilmengenbeziehung:
// Ist A eine Teilmenge von B?
isSubset(setA, setB) // true
// Ist B eine Teilmenge von A?
isSubset(setB, setA) // false
// Ist D eine Teilmenge von B?
isSubset(setD, setB) // falseÜberprüfung der Obermengen-Beziehung:
// Ist B eine Obermenge von A?
isSuperset(setB, setA) // true
// Ist A eine Obermenge von B?
isSuperset(setA, setB) // falseGleichheit prüfen:
// Ist A gleich C?
areEqual(setA, setC) // true
// Ist A gleich B?
areEqual(setA, setB) // false
// Ist A gleich D?
areEqual(setA, setD) // falseAufgabe
EinfachErstellen Sie eine Funktion namens analyzeSetRelations, die zwei Arrays als Parameter entgegennimmt: arr1 und arr2. Die Funktion soll die Arrays in Sets umwandeln und ein Objekt mit den folgenden Eigenschaften zurückgeben:
isSubset: ein Boolean, der angibt, obset1eine Teilmenge vonset2istisSuperset: ein Boolean, der angibt, obset1eine Obermenge vonset2istisEqual: ein Boolean, der angibt, obset1undset2genau die gleichen Elemente enthalten
Spickzettel
Eine Menge A ist eine Teilmenge der Menge B, wenn jedes Element von A auch ein Element von B ist. Umgekehrt ist B eine Obermenge von A, wenn sie alle Elemente von A enthält. Zwei Mengen sind gleich, wenn sie genau dieselben Elemente enthalten.
Prüfen, ob setA eine Teilmenge von setB ist:
function isSubset(setA, setB) {
return [...setA].every(element => setB.has(element));
}Prüfen, ob setA eine Obermenge von setB ist:
function isSuperset(setA, setB) {
return isSubset(setB, setA);
}Prüfen, ob zwei Mengen gleich sind:
function areEqual(setA, setB) {
return setA.size === setB.size && isSubset(setA, setB);
}Probier es selbst
function analyzeSetRelations(arr1, arr2) {
let set1 = new Set(arr1);
let set2 = new Set(arr2);
// Verwende .every() und .has(), um Mengenbeziehungen zu prüfen
let isSubset = false; // TODO: Prüfen, ob jedes Element von set1 in set2 existiert
let isSuperset = false; // TODO: Prüfen, ob jedes Element von set2 in set1 existiert
let isEqual = false; // TODO: Prüfen, ob beide Mengen die gleiche Größe haben und isSubset wahr ist
return {
isSubset: isSubset,
isSuperset: isSuperset,
isEqual: isEqual
};
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Strings im Detail
String-GrundlagenÜber Strings iterierenTemplate LiteralsString-MethodenRückblick – String Weaver4JSON Teil 2
Über JSON iterierenVerschachteltes JSONJSON Optional ChainingFlache und tiefe KopieWiederholung – FahrradladenWiederholung – Sonnensystem7Bibliotheksverwaltungssystem
ProjektübersichtBücher hinzufügen2Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysRückblick – 2D-ArraysMatrix-Addition & SubtraktionJagged Arrays3D-Arrays und mehrGängige 2D-Array-MusterRückblick – Alles über Arrays5Sets Teil 1
Was ist ein Set?Iterieren über SetsEin Element hinzufügenEin Element entfernenPrüfen, ob ein Element existiertGröße und Is EmptyCopy und ClearZusammenfassung - Grundlagen von Sets8Arrays: Interessante Themen
Array-DestrukturierungSpread-Syntax in ArraysSparse ArraysWiederholung – Arrays Workshop3JSON Teil 1
Was ist JSON?Prüfen, ob Key existiertObjektmethodenDer Spread-Operator Teil 1Der Spread-Operator Teil 2Keys entfernenWiederholung – JSON-Keys manipulieren6Mengen Teil 2
Mathe - Vereinigung von MengenMathe - Schnittmenge von MengenMathe - Differenz von MengenMathe - Symmetrische DifferenzTeilmengen und ObermengenWiederholung - Freunde gruppieren