Maison interface Web js tutoriel Introduction détaillée à la nouvelle structure de données WeakSet dans ES6

Introduction détaillée à la nouvelle structure de données WeakSet dans ES6

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

WeakSet est similaire à Set. C'est également une collection avec des éléments non répétitifs. La différence entre eux est que les éléments de WeakSet doivent être des objets et ne peuvent pas être d'autres types. Ensuite, cet article vous donnera une introduction détaillée à l'utilisation de la nouvelle structure de données WeakSet d'ES6. Les amis intéressés devraient y jeter un œil ensemble

WeakSet est similaire à Set. Ce sont également des collections avec des éléments non répétitifs. . La différence entre eux est que dans WeakSet Les éléments doivent être des objets et ne peuvent pas être d'autres types.

Caractéristiques :

1. L'élément doit être un objet.

Ajouter un élément de type numéro.


const ws = new WeakSet()
ws.add(1)
Copier après la connexion

Le résultat est une erreur de type.

TypeError : valeur non valide utilisée dans un ensemble faible

Ajouter un objet.


const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
console.log(ws.has(a));
Copier après la connexion

Ajoutez OK, le résultat montre :

true

Vous pouvez utiliser la méthode has de WeakSet pour déterminer si un l'élément est déjà au milieu défini.

Si vous n'avez pas besoin de stocker l'élément, vous pouvez utiliser la méthode delete pour supprimer l'élément.

2. Les références faibles ne sont pas incluses dans le garbage collection

Pour les objets élément ajoutés à WeakSet, WeakSet n'ajoutera pas 1 au nombre de références de l'objet élément. L'objet élément ajouté au WeakSet sera libéré par le garbage collection tant que l'objet élément n'est pas référencé par d'autres objets que le WeakSet. L'objet élément dans le WeakSet sera automatiquement libéré sans fuite de mémoire.

En raison de cette fonctionnalité, ses performances sont supérieures à celles de la carte. Il peut être utilisé pour des scénarios nécessitant un stockage non séquentiel, une non-répétition et un stockage temporaire.


const ws = new WeakSet()
var a = {p1:'1', p2:'2'}
ws.add(a)
a = null
console.log(ws.has(a));
Copier après la connexion

Ajoutez d'abord l'objet au WeakSet, puis définissez l'objet sur null, puis lorsque la méthode has ci-dessous est jugée, le résultat est affiché, indiquant que il n'y a plus d'objet dans le WeakSet. L'objet existe.

false

3. Vous ne pouvez pas parcourir

car il a une référence faible à l'objet élément interne et sera libéré par le garbage collection à tout moment. temps, donc les méthodes Traversal telles que size et forEach ne sont pas prises en charge.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de l'obtention des droits d'administrateur dans Win11 Explication détaillée de l'obtention des droits d'administrateur dans Win11 Mar 08, 2024 pm 03:06 PM

Le système d'exploitation Windows est l'un des systèmes d'exploitation les plus populaires au monde et sa nouvelle version Win11 a beaucoup attiré l'attention. Dans le système Win11, l'obtention des droits d'administrateur est une opération importante. Les droits d'administrateur permettent aux utilisateurs d'effectuer davantage d'opérations et de paramètres sur le système. Cet article présentera en détail comment obtenir les autorisations d'administrateur dans le système Win11 et comment gérer efficacement les autorisations. Dans le système Win11, les droits d'administrateur sont divisés en deux types : administrateur local et administrateur de domaine. Un administrateur local dispose de tous les droits d'administration sur l'ordinateur local

Explication détaillée du fonctionnement de la division dans Oracle SQL Explication détaillée du fonctionnement de la division dans Oracle SQL Mar 10, 2024 am 09:51 AM

Explication détaillée de l'opération de division dans OracleSQL Dans OracleSQL, l'opération de division est une opération mathématique courante et importante, utilisée pour calculer le résultat de la division de deux nombres. La division est souvent utilisée dans les requêtes de bases de données. Comprendre le fonctionnement de la division et son utilisation dans OracleSQL est donc l'une des compétences essentielles des développeurs de bases de données. Cet article discutera en détail des connaissances pertinentes sur les opérations de division dans OracleSQL et fournira des exemples de code spécifiques pour référence aux lecteurs. 1. Opération de division dans OracleSQL

Comparez des structures de données complexes à l'aide de la comparaison de fonctions Java Comparez des structures de données complexes à l'aide de la comparaison de fonctions Java Apr 19, 2024 pm 10:24 PM

Lors de l'utilisation de structures de données complexes en Java, Comparator est utilisé pour fournir un mécanisme de comparaison flexible. Les étapes spécifiques comprennent : la définition d’une classe de comparaison et la réécriture de la méthode de comparaison pour définir la logique de comparaison. Créez une instance de comparaison. Utilisez la méthode Collections.sort, en transmettant les instances de collection et de comparateur.

Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Explication détaillée du rôle et de l'utilisation de l'opérateur modulo PHP Mar 19, 2024 pm 04:33 PM

L'opérateur modulo (%) en PHP est utilisé pour obtenir le reste de la division de deux nombres. Dans cet article, nous discuterons en détail du rôle et de l'utilisation de l'opérateur modulo et fournirons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Le rôle de l'opérateur modulo En mathématiques, lorsqu'on divise un entier par un autre entier, on obtient un quotient et un reste. Par exemple, lorsque l’on divise 10 par 3, le quotient est 3 et le reste est 1. L'opérateur modulo est utilisé pour obtenir ce reste. 2. Utilisation de l'opérateur modulo En PHP, utilisez le symbole % pour représenter le module

Structures de données et algorithmes Java : explication détaillée Structures de données et algorithmes Java : explication détaillée May 08, 2024 pm 10:12 PM

Les structures de données et les algorithmes sont à la base du développement Java. Cet article explore en profondeur les structures de données clés (telles que les tableaux, les listes chaînées, les arbres, etc.) et les algorithmes (tels que le tri, la recherche, les algorithmes graphiques, etc.) en Java. Ces structures sont illustrées par des exemples pratiques, notamment l'utilisation de tableaux pour stocker les scores, de listes chaînées pour gérer les listes de courses, de piles pour implémenter la récursion, de files d'attente pour synchroniser les threads, ainsi que d'arbres et de tables de hachage pour une recherche et une authentification rapides. Comprendre ces concepts vous permet d'écrire du code Java efficace et maintenable.

Structure de données PHP : l'équilibre des arborescences AVL, maintenant une structure de données efficace et ordonnée Structure de données PHP : l'équilibre des arborescences AVL, maintenant une structure de données efficace et ordonnée Jun 03, 2024 am 09:58 AM

L'arbre AVL est un arbre de recherche binaire équilibré qui garantit des opérations de données rapides et efficaces. Pour atteindre l'équilibre, il effectue des opérations de virage à gauche et à droite, en ajustant les sous-arbres qui violent l'équilibre. Les arbres AVL utilisent l'équilibrage de hauteur pour garantir que la hauteur de l'arbre est toujours petite par rapport au nombre de nœuds, réalisant ainsi des opérations de recherche de complexité temporelle logarithmique (O (logn)) et maintenant l'efficacité de la structure de données même sur de grands ensembles de données.

Explication détaillée de la façon d'utiliser les applications cachées sur le téléphone Black Shark Explication détaillée de la façon d'utiliser les applications cachées sur le téléphone Black Shark Mar 24, 2024 pm 12:09 PM

Explication détaillée de la façon d'utiliser les applications cachées sur les téléphones mobiles Black Shark À mesure que les fonctions des téléphones mobiles continuent de s'améliorer, les besoins des personnes modernes en matière de téléphones mobiles deviennent de plus en plus diversifiés. Certaines personnes peuvent enregistrer des informations privées ou des photos personnelles sur leurs téléphones mobiles. Afin de protéger la confidentialité et la sécurité, de nombreux téléphones mobiles offrent la fonction de masquer les applications. En tant que téléphone mobile spécialement conçu pour les joueurs, Black Shark offre également aux utilisateurs la fonction de masquer les applications. Présentons en détail la méthode de fonctionnement des applications cachées sur le téléphone mobile Black Shark. Étape 1 : Ouvrez l'interface « Paramètres ». Tout d'abord, l'utilisateur doit ouvrir le téléphone mobile Black Shark.

Apprenez en profondeur les secrets des structures de données du langage Go Apprenez en profondeur les secrets des structures de données du langage Go Mar 29, 2024 pm 12:42 PM

Une étude approfondie des mystères de la structure des données du langage Go nécessite des exemples de code spécifiques. En tant que langage de programmation concis et efficace, le langage Go montre également son charme unique dans le traitement des structures de données. La structure des données est un concept de base en informatique, qui vise à organiser et gérer les données afin qu'elles puissent être consultées et manipulées plus efficacement. En apprenant en profondeur les mystères de la structure des données du langage Go, nous pouvons mieux comprendre comment les données sont stockées et exploitées, améliorant ainsi l'efficacité de la programmation et la qualité du code. 1. Array Array est l'une des structures de données les plus simples

See all articles