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

Tabelle td Bild horizontal und vertikal zentriert Code

HTML Code: Code kopieren Der Code lautet wie folgt...

Ubuntu 18.04 Touchpad per Befehl deaktivieren/aktivieren

Unter Ubuntu kommt es häufig vor, dass sich das T...

So rufen Sie die Browser-Sharing-Funktion in Vue auf

Vorwort Vue (ausgesprochen /vjuː/, ähnlich wie vi...

So installieren Sie MySQL 5.7 manuell auf CentOS 7.4

MySQL-Datenbanken werden häufig verwendet, insbes...

Analysieren Sie die Dauer von TIME_WAIT aus dem Linux-Quellcode

Inhaltsverzeichnis 1. Einleitung 2. Lassen Sie un...

Grafisches Tutorial zur Installation der komprimierten Version von MySQL 8.0.15

In diesem Artikel wird die Installationsmethode d...

Vier Modi zum Öffnen und Schließen von Oracle

>1 Starten Sie die Datenbank Geben Sie im cmd-...

Analyse des Prinzips des dynamischen Proxys des Mybatis-Mappers

Vorwort Bevor wir mit der Erklärung des Prinzips ...

So verwenden Sie das Vue-Router-Routing

Inhaltsverzeichnis 1. Beschreibung 2. Installatio...

Detaillierte Erklärung des Skript-Debugging-Mechanismus in Bash

Ausführen des Skripts im Debugmodus Sie können da...

So steuern Sie den Anteil untergeordneter Flex-Elemente auf der Hauptachse

Hintergrund Durch das flexible Layout wird eine e...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

Tutorial zur MySQL-SQL-Optimierung: IN- und RANGE-Abfragen

Lassen Sie uns zunächst über die in()-Abfrage spr...