Map en JavaScript

Introduction au Map

Dans le langage de programmation JavaScript, un Map est une structure de données qui permet de stocker des paires clés-valeurs dans l'ordre dans lequel elles ont été insérées. Une caractéristique importante d'un Map est que les valeurs associées à des clés existantes peuvent être modifiées à tout moment. De plus, les clés et les valeurs d'un Map peuvent être de n'importe quel type de données, que ce soit un objet ou une variable primitive. Contrairement aux objets, les Maps sont directement itérables, ce qui signifie que vous pouvez parcourir leurs éléments de manière simple.

Syntaxe de Map

Pour créer un Map, vous utilisez le mot-clé new. L'exemple suivant montre comment définir un objet Map vide :

const map = new Map();

Création d'un Map avec des Paires Clés-Valeurs

Pour initialiser un Map avec des valeurs, vous pouvez passer un tableau d'arrays à la méthode Map. Chaque array intérieur représente un couple clé-valeur. Par exemple :

const etudiantsHogwarts = new Map([
  ['Gryffindor', 'Harry Potter'],
  ['Slytherin', 'Draco Malfoy'],
  ['Hufflepuff', 'Cedric Diggory']
]);
console.log(etudiantsHogwarts);

Le résultat affiché sera :

Map(3) {
  'Gryffindor' => 'Harry Potter',
  'Slytherin' => 'Draco Malfoy',
  'Hufflepuff' => 'Cedric Diggory'
}

Exemple d'utilisation de Map

Dans cet exemple, un annuaire (addressBook) associe le nom d'une personne à son numéro de téléphone. Au fil du programme, les modifications suivantes sont effectuées : 1. Tom a déménagé et son numéro a été supprimé à l'aide de la méthode .delete().
2. Paul a changé son numéro de téléphone par la méthode .set().

const annuaire = new Map();
annuaire.set('Tom', '123-456-7890');
annuaire.set('Paul', '987-654-3210');

// Suppression du numéro de Tom
annuaire.delete('Tom');

// Changement du numéro de Paul
annuaire.set('Paul', '555-555-5555');

Les Méthodes Principales d'un Map

Voici quelques méthodes importantes que vous pouvez utiliser avec les Maps : - .get(key): Récupère la valeur associée à une clé donnée.
- .set(key, value): Stocke ou met à jour les paires clés-valeurs dans un Map.
- .delete(key): Supprime l'entrée associée à une clé spécifique.
- .has(key): Renvoie true si une clé existe dans le Map.
- .size: Indique le nombre d'entrées présentes dans un Map.