Comprendre et utiliser l’objet Set JavaScript

Les objets d’ensemble en JavaScript sont une collection de valeurs uniques, où chaque valeur ne peut apparaître qu’une seule fois dans l’ensemble. Dans cet article, nous explorerons leur objectif, comment les utiliser et en quoi elles diffèrent des autres structures de données.
Lorsqu’ils travaillent avec JavaScript, les développeurs sont souvent confrontés à des scénarios dans lesquels ils doivent gérer des collections de valeurs uniques. Bien que les tableaux et les objets puissent gérer de telles situations, le JavaScript Ensemble L’objet offre des avantages et des fonctionnalités distincts qui peuvent simplifier et optimiser la gestion des valeurs uniques.
Dans cet article, nous approfondirons le concept de Set
objets en JavaScript, leur objectif et en quoi ils diffèrent des autres structures de données comme des tableaux ou des objets. Allons-y !
L’objet défini
UN Set
un objet en JavaScript est une collection de unique valeurs, où chaque valeur ne peut apparaître qu’une seule fois dans l’ensemble. Il fournit un moyen efficace de stocker, récupérer et manipuler des valeurs distinctes sans se soucier des doublons.
Set
les objets autorisent n’importe quel type de données comme valeurs, y compris les types primitifs, les objets et même d’autres ensembles !
Pour créer un nouveau Set
objet, nous pouvons utiliser le Set()
constructeur:
const set = new Set();
Dans le code ci-dessus, nous initialisons un vide Set
objet nommé set
. Alternativement, nous pouvons initialiser un Set
objet avec un itérable, tel qu’un tableau, lors de sa création :
const set = new Set(["value1", "value2", "value3"]);
Travailler avec des objets définis
Une fois par Set
objet a été créé, nous pouvons utiliser diverses méthodes fournies par le Set
prototype pour manipuler son contenu.
Ajouter des valeurs
Pour ajouter une nouvelle valeur à un Set
objet, nous pouvons utiliser le add()
méthode. Voici un exemple d’ajout de deux valeurs de chaîne au Set
objet.
const set = new Set();
set.add("value1");
set.add("value2");
console.log(set);
Si une valeur existe déjà dans le Set
le add()
la méthode n’aura aucun effet.
const set = new Set();
set.add("value1");
set.add("value2");
set.add("value1");
console.log(set);
Depuis Set
ne stocke que des valeurs uniques, tenter d’ajouter une valeur en double n’a aucun effet. La valeur en double n’est pas ajoutée à l’ensemble et l’ensemble reste inchangé. Cela est dû à Set
la contrainte d’unicité de : elle garantit que chaque valeur d’un Set
est unique et les valeurs en double sont automatiquement ignorées.
Cette propriété d’unicité fait Set
C’est particulièrement utile dans les scénarios où vous souhaitez conserver une collection de valeurs distinctes et vérifier facilement la présence d’une valeur spécifique.
Il est important de noter que deux objets ayant les mêmes propriétés et valeurs seront considérés comme distincts dans un Set
.
const set = new Set();
const obj1 = { name: "Adam", age: 30 };
const obj2 = { name: "Adam", age: 30 };
set.add(obj1);
set.add(obj2);
console.log(set);
Malgré obj1
et obj2
ayant des propriétés et des valeurs identiques, la contrainte d’unicité du Set
est basé sur l’identité de la valeur. Puisque chaque objet est considéré comme distinct, les deux objets sont ajoutés au Set
.
Vérification de l’existence de la valeur
Pour vérifier si une valeur spécifique existe dans un Set
objet, nous pouvons utiliser le has()
méthode:
const set = new Set(["value1", "value2"]);
console.log(set.has("value1"));
console.log(set.has("value3"));
Suppression de valeurs
Pour supprimer une valeur d’un Set
objet, nous pouvons utiliser le delete()
méthode:
const set = new Set(["value1", "value2"]);
set.delete("value1");
console.log(set);
Obtenir la taille d’un ensemble
Pour déterminer le nombre de valeurs dans un Set
objet, nous pouvons utiliser le size
propriété:
const set = new Set(["value1", "value2"]);
console.log(set.size);
Itérer sur les valeurs
Set
les objets fournissent des méthodes pratiques pour parcourir leurs valeurs comme forEach()
et values()
.
Le forEach()
La méthode nous permet d’exécuter une fonction de rappel pour chaque valeur du Set
:
const set = new Set(["value1", "value2"]);
set.forEach((value) => {
console.log(value);
});
Le values()
La méthode renvoie un objet itérable contenant les valeurs du Set
que nous pouvons parcourir à l’aide d’une boucle :
const set = new Set(["value1", "value2"]);
for (const value of set.values()) {
console.log(value);
}
Ensemble par rapport à d’autres structures de données
Alors que les tableaux et les objets sont couramment utilisés pour stocker des collections de valeurs en JavaScript, Set
les objets offrent plusieurs avantages dans certains scénarios.
Set
les objets garantissent que chaque valeur n’apparaît qu’une seule fois dans l’ensemblegérant automatiquement la déduplication sans effort supplémentaire.Set
objets maintenir l’ordre d’insertion des valeursce qui facilite leur itération dans l’ordre d’insertion.
Ensemble ou carte
Dans un article précédent, nous avons approfondi Objet Carte JavaScript. Alors que les deux Set
et Map
les objets en JavaScript sont conçus pour gérer des collections de données, ils répondent à des objectifs différents et présentent des caractéristiques distinctes.
Le but premier d’un Set
L’objet est de stocker et de gérer une collection de valeurs uniques. Il garantit que chaque valeur n’apparaît qu’une seule fois dans l’ensemble, gérant automatiquement la déduplication. D’un autre côté, un Map
L’objet se concentre sur le stockage et la récupération de données clé-valeur. Il permet l’association de valeurs avec des clés spécifiques, semblable à un dictionnaire ou à un tableau associatif.
Conclusion
Set
les objets sont particulièrement utiles lorsqu’il s’agit de scénarios qui nécessitent des contrôles d’unicité ou d’existence de valeur rapides. En tirant parti de Set
Grâce aux méthodes intégrées d’ajout, de vérification et de suppression de valeurs, les développeurs peuvent simplifier leur code et réduire la complexité de la gestion de valeurs distinctes.
De plus, le Set
L’objet garantit l’unicité, maintient l’ordre d’insertion et fournit des contrôles efficaces de l’existence des valeurs, ce qui en fait un outil puissant dans des cas d’utilisation spécifiques.
Source link