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

add

Hinzufügen von Mitgliedern zu einem Set

 const s = new Set([1, 2, 3]); // Es kann nur ein Parameter übergeben werden s.add(5); console.log(s); // Es kann verkettet werden adds.add(7).add(9); console.log(s); 

Bildbeschreibung hier einfügen

delete

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

has

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

clear

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:
  • Kollisionsbehandlung von JS-Hashtabellen, offene Kettenmethode, HashTable-Hashing-Beispiel
  • JS verwendet die Methode „reduce()“, um Baumstrukturdaten zu verarbeiten
  • Detaillierte Erklärung der Set-Datenstruktur von JavaScript
  • Konvertieren Sie die Datenstruktur der Go-Sprache in JSON
  • Detaillierte Erklärung der Map-Datenstruktur in JavaScript
  • JavaScript-Datenstrukturnummer
  • JavaScript-Datenstruktur: Erstellen einer Hash-Tabelle

<<:  Die 9 besten ausländischen Websites mit kostenlosem Bildmaterial

>>:  Eine kurze Analyse der Verwendung von HTML-Float

Artikel empfehlen

Das Vue-Projekt realisiert Anmelde- und Registrierungseffekte

In diesem Artikelbeispiel wird der spezifische Co...

Vue.js implementiert eine Bildwechselfunktion

In diesem Artikel wird der spezifische Code von V...

Implementierungsschritte zum Erstellen mehrseitiger Programme mit Webpack

Es ist sehr üblich, webpack zum Erstellen einseit...

Einführung in das MySQL Connection Control Plugin

Inhaltsverzeichnis 1. Einführung in das Verbindun...

MySQL-Backup-Tabellenvorgang basierend auf Java

Der Kern ist mysqldump und Runtime Der Vorgang is...

jQuery implementiert die Anzeige und Ausblendung von Anzeigenanimationen

Wir sehen oft, dass Anzeigen nach ein paar Sekund...

HTML-Elemente durch Anzeige oder Sichtbarkeit verbergen

Manchmal müssen wir steuern, ob HTML-Elemente auf ...

JavaScript implementiert die Kontrollkästchenauswahlfunktion

In diesem Artikelbeispiel wird der spezifische Ja...

Native Js-Implementierung des Kalender-Widgets

In diesem Artikelbeispiel wird der spezifische JS...