Heim Web-Frontend js-Tutorial Detaillierte Einführung in die neue WeakSet-Datenstruktur in ES6

Detaillierte Einführung in die neue WeakSet-Datenstruktur in ES6

Aug 11, 2017 am 11:05 AM
数据结构 详解

WeakSet ähnelt Set. Es ist auch eine Sammlung mit sich nicht wiederholenden Elementen. Der Unterschied zwischen ihnen besteht darin, dass die Elemente in WeakSet Objekte sein müssen und keine anderen Typen sein können. Als Nächstes erhalten Sie in diesem Artikel eine detaillierte Einführung in die Verwendung der neuen Datenstruktur WeakSet. Interessierte Freunde sollten einen Blick darauf werfen.

WeakSet ähnelt Set. Es handelt sich ebenfalls um Sammlungen mit sich nicht wiederholenden Elementen Der Unterschied zwischen ihnen besteht darin, dass die Elemente innerhalb von WeakSet Objekte sein müssen und keine anderen Typen haben dürfen.

Eigenschaften:

1. Das Element muss ein Objekt sein.

Fügen Sie ein Element vom Typ Nummer hinzu.


const ws = new WeakSet()
ws.add(1)
Nach dem Login kopieren

Das Ergebnis ist ein Typfehler.

TypeError: Ungültiger Wert in schwacher Menge verwendet

Fügen Sie ein Objekt hinzu.


const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
console.log(ws.has(a));
Nach dem Login kopieren

OK hinzufügen, das Ergebnis zeigt:

true

Sie können die has-Methode von WeakSet verwenden, um zu bestimmen, ob ein Element befindet sich bereits in der eingestellten Mitte.

Wenn Sie das Element nicht speichern müssen, können Sie das Element mit der Löschmethode löschen.

2. Schwache Referenzen sind nicht in der Garbage Collection enthalten

Für zu WeakSet hinzugefügte Elementobjekte fügt WeakSet nicht 1 zum Referenzzähler des Elementobjekts hinzu Das zum WeakSet hinzugefügte Elementobjekt wird durch die Garbage Collection freigegeben, solange das Elementobjekt nicht von anderen Objekten als dem WeakSet referenziert wird. Das Elementobjekt im WeakSet wird automatisch ohne Speicherverlust freigegeben.

Aufgrund dieser Funktion ist die Leistung höher als bei der Karte. Sie kann für Szenarien verwendet werden, die eine nicht sequentielle Speicherung, keine Wiederholung und eine temporäre Speicherung erfordern.


const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
a = null
console.log(ws.has(a));
Nach dem Login kopieren

Fügen Sie zuerst das Objekt zum WeakSet hinzu, setzen Sie das Objekt dann auf Null. Wenn dann die unten stehende has-Methode beurteilt wird, wird das Ergebnis angezeigt, das darauf hinweist Es gibt kein Objekt mehr im WeakSet. Das Objekt existiert.

false

3. Sie können

nicht durchlaufen, da es einen schwachen Verweis auf das interne Elementobjekt hat und jederzeit durch die Speicherbereinigung freigegeben wird Zeit, daher werden Traversal-Methoden wie size und forEach nicht unterstützt.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die neue WeakSet-Datenstruktur in ES6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Ausführliche Erklärung zur Erlangung von Administratorrechten in Win11 Mar 08, 2024 pm 03:06 PM

Das Windows-Betriebssystem ist eines der beliebtesten Betriebssysteme der Welt und seine neue Version Win11 hat viel Aufmerksamkeit erregt. Im Win11-System ist die Erlangung von Administratorrechten ein wichtiger Vorgang. Mit Administratorrechten können Benutzer weitere Vorgänge und Einstellungen auf dem System durchführen. In diesem Artikel wird ausführlich beschrieben, wie Sie Administratorrechte im Win11-System erhalten und wie Sie Berechtigungen effektiv verwalten. Im Win11-System werden Administratorrechte in zwei Typen unterteilt: lokaler Administrator und Domänenadministrator. Ein lokaler Administrator verfügt über vollständige Administratorrechte für den lokalen Computer

Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Detaillierte Erläuterung der Divisionsoperation in Oracle SQL Mar 10, 2024 am 09:51 AM

Detaillierte Erläuterung der Divisionsoperation in OracleSQL In OracleSQL ist die Divisionsoperation eine häufige und wichtige mathematische Operation, die zur Berechnung des Ergebnisses der Division zweier Zahlen verwendet wird. Division wird häufig in Datenbankabfragen verwendet. Daher ist das Verständnis der Divisionsoperation und ihrer Verwendung in OracleSQL eine der wesentlichen Fähigkeiten für Datenbankentwickler. In diesem Artikel werden die relevanten Kenntnisse über Divisionsoperationen in OracleSQL ausführlich erörtert und spezifische Codebeispiele als Referenz für die Leser bereitgestellt. 1. Divisionsoperation in OracleSQL

Vergleichen Sie komplexe Datenstrukturen mithilfe des Java-Funktionsvergleichs Vergleichen Sie komplexe Datenstrukturen mithilfe des Java-Funktionsvergleichs Apr 19, 2024 pm 10:24 PM

Bei der Verwendung komplexer Datenstrukturen in Java wird Comparator verwendet, um einen flexiblen Vergleichsmechanismus bereitzustellen. Zu den spezifischen Schritten gehören: Definieren einer Komparatorklasse und Umschreiben der Vergleichsmethode, um die Vergleichslogik zu definieren. Erstellen Sie eine Komparatorinstanz. Verwenden Sie die Methode „Collections.sort“ und übergeben Sie die Sammlungs- und Komparatorinstanzen.

Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Detaillierte Erläuterung der Rolle und Verwendung des PHP-Modulo-Operators Mar 19, 2024 pm 04:33 PM

Der Modulo-Operator (%) in PHP wird verwendet, um den Rest der Division zweier Zahlen zu ermitteln. In diesem Artikel werden wir die Rolle und Verwendung des Modulo-Operators im Detail besprechen und spezifische Codebeispiele bereitstellen, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Modulo-Operators Wenn wir in der Mathematik eine ganze Zahl durch eine andere ganze Zahl dividieren, erhalten wir einen Quotienten und einen Rest. Wenn wir beispielsweise 10 durch 3 dividieren, ist der Quotient 3 und der Rest ist 1. Um diesen Rest zu ermitteln, wird der Modulo-Operator verwendet. 2. Verwendung des Modulo-Operators In PHP verwenden Sie das %-Symbol, um den Modul darzustellen

Java-Datenstrukturen und -Algorithmen: ausführliche Erklärung Java-Datenstrukturen und -Algorithmen: ausführliche Erklärung May 08, 2024 pm 10:12 PM

Datenstrukturen und Algorithmen sind die Grundlage der Java-Entwicklung. In diesem Artikel werden die wichtigsten Datenstrukturen (wie Arrays, verknüpfte Listen, Bäume usw.) und Algorithmen (wie Sortier-, Such-, Diagrammalgorithmen usw.) ausführlich untersucht. Diese Strukturen werden anhand praktischer Beispiele veranschaulicht, darunter die Verwendung von Arrays zum Speichern von Bewertungen, verknüpfte Listen zum Verwalten von Einkaufslisten, Stapel zum Implementieren von Rekursionen, Warteschlangen zum Synchronisieren von Threads sowie Bäume und Hash-Tabellen für schnelle Suche und Authentifizierung. Wenn Sie diese Konzepte verstehen, können Sie effizienten und wartbaren Java-Code schreiben.

PHP-Datenstruktur: Das Gleichgewicht der AVL-Bäume sorgt für eine effiziente und geordnete Datenstruktur PHP-Datenstruktur: Das Gleichgewicht der AVL-Bäume sorgt für eine effiziente und geordnete Datenstruktur Jun 03, 2024 am 09:58 AM

Der AVL-Baum ist ein ausgewogener binärer Suchbaum, der schnelle und effiziente Datenoperationen gewährleistet. Um ein Gleichgewicht zu erreichen, führt es Links- und Rechtsdrehungen durch und passt Teilbäume an, die das Gleichgewicht verletzen. AVL-Bäume nutzen den Höhenausgleich, um sicherzustellen, dass die Höhe des Baums im Verhältnis zur Anzahl der Knoten immer klein ist, wodurch Suchoperationen mit logarithmischer Zeitkomplexität (O(logn)) erreicht werden und die Effizienz der Datenstruktur auch bei großen Datensätzen erhalten bleibt.

Ausführliche Erklärung zur Bedienung versteckter Apps auf dem Black Shark-Telefon Ausführliche Erklärung zur Bedienung versteckter Apps auf dem Black Shark-Telefon Mar 24, 2024 pm 12:09 PM

Ausführliche Erklärung zur Bedienung versteckter Anwendungen auf Black Shark-Mobiltelefonen Da sich die Mobiltelefonfunktionen immer weiter verbessern, werden die Bedürfnisse moderner Menschen nach Mobiltelefonen immer vielfältiger. Manche Menschen speichern möglicherweise private Informationen oder persönliche Fotos auf ihren Mobiltelefonen. Um die Privatsphäre und Sicherheit zu schützen, verfügen viele Mobiltelefone über die Funktion, Anwendungen auszublenden. Als speziell für Gamer konzipiertes Mobiltelefon bietet Black Shark Nutzern zudem die Funktion, Anwendungen auszublenden. Lassen Sie uns die Funktionsweise versteckter Anwendungen auf dem Black Shark-Mobiltelefon im Detail vorstellen. Schritt 1: Öffnen Sie die „Einstellungen“-Oberfläche. Zunächst muss der Benutzer das Black Shark-Mobiltelefon öffnen.

Lernen Sie die Geheimnisse der Datenstrukturen der Go-Sprache ausführlich kennen Lernen Sie die Geheimnisse der Datenstrukturen der Go-Sprache ausführlich kennen Mar 29, 2024 pm 12:42 PM

Eine eingehende Untersuchung der Geheimnisse der Datenstruktur der Go-Sprache erfordert spezifische Codebeispiele. Als prägnante und effiziente Programmiersprache zeigt die Go-Sprache auch ihren einzigartigen Charme bei der Verarbeitung von Datenstrukturen. Datenstruktur ist ein Grundkonzept der Informatik, das darauf abzielt, Daten so zu organisieren und zu verwalten, dass sie effizienter abgerufen und bearbeitet werden können. Indem wir uns eingehend mit den Geheimnissen der Datenstruktur der Go-Sprache befassen, können wir besser verstehen, wie Daten gespeichert und verarbeitet werden, und so die Programmiereffizienz und Codequalität verbessern. 1. Array Array ist eine der einfachsten Datenstrukturen

See all articles