Cartes JavaScript
Une carte contient des paires clé-valeur où les clés peuvent être n'importe quel type de données.
Une carte se souvient de l'ordre d'insertion d'origine des clés.
Méthodes cartographiques essentielles
Méthode | La description |
---|---|
nouvelle carte() | Crée une nouvelle carte |
ensemble() | Définit la valeur d'une clé dans une carte |
avoir() | Obtient la valeur d'une clé dans une carte |
effacer() | Supprime un élément Map spécifié par la clé |
a() | Renvoie true si une clé existe dans une Map |
pour chaque() | Appelle une fonction pour chaque paire clé/valeur dans un Map |
entrées() | Retourne un itérateur avec les paires [clé, valeur] dans un Map |
Propriété | La description |
Taille | Renvoie le nombre d'éléments dans une Map |
Comment créer une carte
Vous pouvez créer une carte JavaScript en :
- Passer un tableau à
new Map()
- Créer une carte et utiliser
Map.set()
La nouvelle méthode Map()
Vous pouvez créer un Map en passant un Array au new Map()
constructeur :
Exemple
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
La méthode set()
Vous pouvez ajouter des éléments à une Map avec la set()
méthode :
Exemple
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
La set()
méthode peut également être utilisée pour modifier les valeurs Map existantes :
Exemple
fruits.set("apples", 200);
La méthode get()
La get()
méthode obtient la valeur d'une clé dans un Map :
Exemple
fruits.get("apples"); // Returns 500
La taille de la propriété
La size
propriété renvoie le nombre d'éléments dans un Map :
Exemple
fruits.size;
La méthode delete()
La delete()
méthode supprime un élément Map :
Exemple
fruits.delete("apples");
La méthode has()
La has()
méthode renvoie true si une clé existe dans une Map :
Exemple
fruits.has("apples");
Essaye ça:
fruits.delete("apples");
fruits.has("apples");
Objets JavaScript vs cartes
Différences entre les objets JavaScript et les cartes :
Objet | Carte | |
---|---|---|
Itérable | Pas directement itérable | Directement itérable |
Taille | Ne pas avoir de propriété de taille | Avoir une propriété de taille |
Types de clés | Les clés doivent être des chaînes (ou des symboles) | Les clés peuvent être n'importe quel type de données |
Commande de clé | Les clés ne sont pas bien ordonnées | Les clés sont classées par insertion |
Valeurs par défaut | Avoir des clés par défaut | Ne pas avoir de clés par défaut |
La méthode forEach()
La forEach()
méthode appelle une fonction pour chaque paire clé/valeur dans un Map :
Exemple
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
La méthode entry()
La entries()
méthode renvoie un objet itérateur avec la [clé, valeurs] dans un Map :
Exemple
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Prise en charge du navigateur
Les cartes JavaScript sont prises en charge dans tous les navigateurs, à l'exception d'Internet Explorer :
Chrome | Edge | Firefox | Safari | Opera |