Maison >interface Web >js tutoriel >Travailler avec des cartes et des ensembles en JavaScript : un guide complet

Travailler avec des cartes et des ensembles en JavaScript : un guide complet

Patricia Arquette
Patricia Arquetteoriginal
2024-12-22 14:21:15681parcourir

Working with Maps and Sets in JavaScript: A Comprehensive Guide

Travailler avec des cartes et des ensembles en JavaScript

Les

Maps et Sets sont deux structures de données importantes introduites dans ES6 (ECMAScript 2015) qui offrent des fonctionnalités améliorées par rapport aux objets et aux tableaux traditionnels. Les Maps et les Ensembles vous permettent de stocker des valeurs uniques et de travailler avec les données de manière plus organisée et plus efficace.

1. Cartes en JavaScript

Une Carte est une collection de paires clé-valeur où les clés et les valeurs peuvent être n'importe quel type de données. Contrairement aux objets, qui ne peuvent avoir que des chaînes ou des symboles comme clés, les Maps permettent d'utiliser n'importe quelle valeur (objets, tableaux, fonctions, etc.) comme clé.

Créer une carte

Pour créer une Map, vous pouvez utiliser le constructeur Map :

const map = new Map();

Vous pouvez également initialiser une carte avec un tableau de paires clé-valeur :

const map = new Map([
  ['name', 'Alice'],
  ['age', 25],
  ['city', 'New York']
]);

console.log(map);

Ajout d'entrées à une carte

Vous pouvez ajouter des entrées en utilisant la méthode set() :

const map = new Map();

map.set('name', 'John');
map.set('age', 30);
map.set('city', 'Los Angeles');

console.log(map);

Accès aux valeurs dans une carte

Vous pouvez accéder à la valeur associée à une clé en utilisant la méthode get() :

const map = new Map([
  ['name', 'Alice'],
  ['age', 25]
]);

console.log(map.get('name'));  // Output: Alice
console.log(map.get('age'));   // Output: 25

Vérification d'une clé dans une carte

Pour vérifier si une clé existe, utilisez la méthode has() :

const map = new Map([
  ['name', 'John'],
  ['age', 30]
]);

console.log(map.has('name'));  // Output: true
console.log(map.has('city'));  // Output: false

Supprimer des entrées d'une carte

Vous pouvez supprimer une paire clé-valeur à l'aide de la méthode delete() :

map.delete('age');
console.log(map.has('age'));  // Output: false

Pour effacer toutes les entrées de la carte :

map.clear();
console.log(map.size);  // Output: 0

Itérer sur une carte

Vous pouvez parcourir les paires clé-valeur dans une carte en utilisant forEach(), ou for...of loop :

const map = new Map([
  ['name', 'Alice'],
  ['age', 25]
]);

// Using forEach
map.forEach((value, key) => {
  console.log(key, value);
});

// Using for...of
for (const [key, value] of map) {
  console.log(key, value);
}

2. Ensembles en JavaScript

Un Set est une collection de valeurs uniques, ce qui signifie qu'il supprime automatiquement toutes les valeurs en double. Contrairement aux tableaux, qui peuvent stocker plusieurs éléments identiques, les Ensembles garantissent que chaque valeur de la collection est unique.

Créer un ensemble

Vous pouvez créer un Set à l'aide du constructeur Set :

const set = new Set();

Alternativement, vous pouvez initialiser un Set avec un tableau de valeurs :

const set = new Set([1, 2, 3, 4, 5]);
console.log(set);

Ajout de valeurs à un ensemble

Vous pouvez ajouter des valeurs à un Set en utilisant la méthode add() :

const set = new Set();

set.add(1);
set.add(2);
set.add(3);
set.add(2);  // Duplicate value, won't be added

console.log(set);  // Output: Set { 1, 2, 3 }

Vérification d'une valeur dans un ensemble

Pour vérifier si une valeur existe dans un Set, utilisez la méthode has() :

console.log(set.has(2));  // Output: true
console.log(set.has(4));  // Output: false

Supprimer des valeurs d'un ensemble

Vous pouvez supprimer une valeur d'un Set en utilisant la méthode delete() :

const map = new Map();

Pour effacer toutes les valeurs de l'ensemble :

const map = new Map([
  ['name', 'Alice'],
  ['age', 25],
  ['city', 'New York']
]);

console.log(map);

Itérer sur un ensemble

Vous pouvez parcourir les valeurs d'un ensemble en utilisant forEach() ou la boucle for...of :

const map = new Map();

map.set('name', 'John');
map.set('age', 30);
map.set('city', 'Los Angeles');

console.log(map);

3. Comparaison entre les cartes et les ensembles

Fonctionnalité Carte Définir ête>
Feature Map Set
Storage Stores key-value pairs Stores unique values only
Key Types Any type (objects, arrays, primitive types) Only values (no keys)
Uniqueness Keys must be unique, values can repeat Values must be unique
Order of Elements Iterates in insertion order Iterates in insertion order
Size map.size set.size
Methods set(), get(), has(), delete(), clear() add(), has(), delete(), clear()
Stockage Stocke les paires clé-valeur Stocke uniquement les valeurs uniques

Types de clés

Tout type (objets, tableaux, types primitifs) Uniquement les valeurs (pas de clés) Unicité Les clés doivent être uniques, les valeurs peuvent se répéter Les valeurs doivent être uniques
    Ordre des éléments
Itère dans l'ordre d'insertion Itère dans l'ordre d'insertion

Taille

map.size set.size Méthodes set(), get(), has(), delete(), clear() ajouter(), has(), supprimer(), clear()
  • 4.
  • Cas d'utilisation des cartes et des ensembles
  • Les
Les cartes
  • sont utiles lorsque vous devez associer des clés uniques à des valeurs spécifiques. Les exemples incluent :

    Stockage des préférences utilisateur

      Stockage des options de configuration
    • Mise en cache des données basées sur des clés
    • Les
  • Ensembles sont idéaux lorsque vous devez stocker une collection de valeurs uniques. Les exemples incluent :

      Suivi des visiteurs uniques sur un site Web
    • Suppression des valeurs en double d'un tableau
    • Garder une trace des éléments qui ont été traités ou vus
    Conclusion


    Maps offrent un stockage efficace des paires clé-valeur avec prise en charge de tout type de données en tant que clés, et elles maintiennent l'ordre d'insertion.
    Les
    Ensembles

    stockent des valeurs uniques et sont particulièrement utiles lorsque vous souhaitez garantir l'absence de doublons dans une collection.
    Les cartes et les ensembles offrent des fonctionnalités puissantes et peuvent vous aider à gérer les données de manière plus structurée et plus efficace. Bonjour, je m'appelle Abhay Singh Kathayat ! Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales. N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.

    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:
    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