Detaillierte Erklärung der Set-Datenstruktur von JavaScript

Detaillierte Erklärung der Set-Datenstruktur von JavaScript

1. Was ist Set

Man kann sich eine Menge einfach als eine mathematische Menge vorstellen.

Es handelt sich um eine ungeordnete Datensammlung ohne wiederholte Werte .

2. Konstruktor festlegen

Für die Parameter des Set-Konstruktors können folgende Formen übergeben werden.

2.1) Arrays

 Konstante s = neue Menge ([1, 2, 1]);
Konsole.log(s);

Bildbeschreibung hier einfügen

Hier wird als Parameter ein Array [1, 2, 1] übergeben. Da es sich bei Set um eine Sammlung nicht wiederkehrender Werte handelt, wird die dritte 1 automatisch gelöscht.

2.2) Saiten

 const s = new Set("Hallo Welt!");
Konsole.log(s);

Bildbeschreibung hier einfügen

2.3) Argumente

 Funktion Spaß() {
    const s = neues Set(Argumente);
    Konsole.log(s);
}

Spaß (1, 2, 3);

Bildbeschreibung hier einfügen

2.4) Knotenliste

 <!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-kompatibel" content="IE=edge">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <Titel>festlegen</Titel>
</Kopf>
<Text>
    <p>1</p>
    <p>2</p>
    <p>3</p>
    
    <Skript>
        const s = neues Set(document.querySelectorAll('p'));
        Konsole.log(s);
    </Skript>
</body>
</html>

Bildbeschreibung hier einfügen

Hier werden Verweise auf drei p -Tags in Set s eingefügt;

Wenn wir es verwenden müssen, können wir dieses Set durchlaufen, dann jeweils die Referenzen der p Tags herausnehmen und dann p Tags ändern.

2.5) Satz

 const s1 = neues Set([1, 2, 3]);
const s2 = neues Set(s1);
konsole.log(s2);

Bildbeschreibung hier einfügen

Dies entspricht dem Kopieren von s1 und dem Übergeben an s2 , aber es handelt sich nicht um dasselbe Set

 Konsole.log(s1 === s2); 

Bildbeschreibung hier einfügen

3. Legen Sie die Instanzeigenschaften und -methoden fest

Die Eigenschaften von Set haben ein Attribut size , das zum Speichern der Anzahl seiner Mitglieder verwendet wird.

 const s = neue Menge([1, 2, 3]);
Konsole.log(s.Größe);

Bildbeschreibung hier einfügen

Methoden des Sets

  • hinzufügen

Hinzufügen von Mitgliedern zu einem Set

 const s = neue Menge([1, 2, 3]);
// Sein Parameter kann nur einen übergeben s.add(5);
Konsole.log(s);
// kann mit add verkettet werden
s.add(7).add(9);
Konsole.log(s);

Bildbeschreibung hier einfügen

  • löschen

Wird zum Löschen von Mitgliedern aus einem Set verwendet

 const s = neue Menge([1, 2, 3]);
s.delete(2);
// Wenn das zu löschende Element nicht im Set gefunden wird, passiert nichts und es wird kein Fehler gemeldet s.delete(5);
Konsole.log(s);

Bildbeschreibung hier einfügen

  • hat

Wird verwendet, um zu bestimmen, ob ein Set ein Mitglied enthält

 const s = neue Menge([1, 2, 3]);
console.log(s.hat(1));
console.log(s.has(5));

Bildbeschreibung hier einfügen

  • klar

Löscht alle Mitglieder des Sets

 const s = neue Menge([1, 2, 3]);
s.löschen();
Konsole.log(s);

Bildbeschreibung hier einfügen

4. Mitgliederzugang einrichten

Der Zugriff auf die Mitglieder wird über die Methode forEach implementiert, die das Set in der Reihenfolge durchläuft, in der die Mitglieder hinzugefügt wurden .

Es hat zwei Parameter, der erste Parameter ist die Rückruffunktion, und der zweite Parameter legt fest, worauf this in der Rückruffunktion zeigt, d. h.

 s.forEach(Rückruffunktion, Zeiger auf Rückruffunktion)

Schauen wir uns den ersten Parameter an:

Für die erste Parameter-Callback-Funktion gibt es drei Parameter:

 s.forEach(Funktion(Wert, Schlüssel, Satz){
	value ist ein Mitglied von Set. In Set sind value und key gleich. Set ist das vorherige Set selbst, d. h. hier set === s
});

Lassen Sie es uns anhand eines Beispiels verstehen:

 const s = neue Menge([1, 2, 3]);
s.forEach(Funktion(Wert, Schlüssel, Satz) {
    console.log(Wert, Schlüssel, Wert === Schlüssel);
    Konsole.log(setzen, setzen === s);
});

Bildbeschreibung hier einfügen

Schauen wir uns den zweiten Parameter an:

 const s = neue Menge([1, 2, 3]);
s.forEach(Funktion(Wert, Schlüssel, Satz) {
    konsole.log(dies);
}, dokumentieren);

Bildbeschreibung hier einfügen

5. Hinweise zum Set

Die Beurteilung doppelter Werte durch Set folgt grundsätzlich der strikten Gleichheit === Beurteilung

Für NaN ist NaN in Set jedoch gleich NaN

6. Anwendungsfälle von Set

Array-Deduplizierung

 sei arr = [1, 2, 1];
Konstante s = neues Set (arr);
arr = [...s];
// Sie können sie auch zu einem Satz kombinieren // arr = [...new Set(arr)];
Konsole.log(arr);

Bildbeschreibung hier einfügen

String-Deduplizierung

 lass str = "11231131242";
const s = neues Set(str);
str = [...s].join("");
// Kann auch als ein Satz geschrieben werden // str = [...new Set(str)].join("");
konsole.log(str);

Bildbeschreibung hier einfügen

Speichern von DOM-Elementen

 <!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-kompatibel" content="IE=edge">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <Titel>festlegen</Titel>
</Kopf>
<Text>
    <p>1</p>
    <p>2</p>
    <p>3</p>
    
    <Skript>
        const s = neues Set(document.querySelectorAll('p'));
        s.fürEach((elem) => {
            console.log(Element)
        });
    </Skript>
</body>
</html>

Bildbeschreibung hier einfügen

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung von Wörterbuchbeispielen in JS-Algorithmen und Datenstrukturen
  • Erstellen einer JavaScript-Datenstruktursammlung (2)
  • Erstellen einer JavaScript-Datenstruktursammlung (1)
  • JavaScript-Datenstruktur: Erstellen einer Hash-Tabelle (1)
  • Konvertieren Sie die Datenstruktur der Go-Sprache in JSON
  • JS verwendet die Methode „reduce()“, um Baumstrukturdaten zu verarbeiten
  • So schreiben Sie ein Wörterbuch als JSON-Datei in Python
  • Python-Beispielcode zum Schreiben von Wörterbuchinhalten in eine JSON-Datei
  • Analyse der Fallstricke bei Python-Wörterbüchern und json.dumps()
  • Wörterbuchmethode für JavaScript-Datenstrukturen

<<:  Drei Möglichkeiten, um einen Textblinkeffekt im CSS3-Beispielcode zu erzielen

>>:  Detaillierte Erklärung des Unterschieds zwischen adaptiver und responsiver Analyse in der Umgangssprache

Artikel empfehlen

JavaScript Canvas implementiert Grafiken und Text mit Schatten

Verwenden Sie Canvas, um Grafiken und Text mit Sc...

Detaillierte Erklärung des Cocoscreater-Prefabs

Inhaltsverzeichnis Fertighaus So erstellen Sie ei...

Beispielcode zum Konfigurieren von Nginx zur Unterstützung von https

1. Einleitung Lassen Sie Ihre Website immer noch ...

Beispiel für die Verwendung einer Keep-Alive-Komponente in Vue

Problembeschreibung (was ist Keep-Alive) Keep-Ali...

Detaillierte Erläuterung der Javascript-Wissenspunkte

Inhaltsverzeichnis 1. Grundlegende Einführung in ...

Zusammenfassung der Probleme bei der Speicherplatzfreigabe unter Linux

Die /Partitionsauslastung eines Servers im IDC is...

Tipps zum Gestalten der Fotovorschau-Navigation auf Webseiten

<br />Navigation bezieht sich nicht nur auf ...

Beispiel-Tutorial für MySQL-Datenbanktransaktionen

Inhaltsverzeichnis 1. Was ist eine Transaktion? 2...

Erzielen Sie mit reinem CSS3 in wenigen einfachen Schritten einen 3D-Flip-Effekt

Als Pflichtkurs für Frontend-Entwickler kann CSS3...

Upgrade der Docker-Version von MySQL 5.7 auf MySQL 8.0.13, Datenmigration

Inhaltsverzeichnis 1. Sichern Sie die alten MySQL...