Recherche…


Syntaxe

  • nouvelle carte ([itérable])
  • map.set (clé, valeur)
  • map.get (clé)
  • taille de la carte
  • map.clear ()
  • map.delete (clé)
  • map.entries ()
  • map.keys ()
  • map.values ​​()
  • map.forEach (rappel [, thisArg])

Paramètres

Paramètre Détails
iterable Tout objet itérable (par exemple un tableau) contenant [key, value] paires [key, value] .
key La clé d'un élément.
value La valeur attribuée à la clé.
callback La fonction de rappel est appelée avec trois paramètres: valeur, clé et carte.
thisArg Valeur qui sera utilisée comme this lors de l' exécution de callback .

Remarques

Dans Maps, NaN est considéré comme identique à NaN , même si NaN !== NaN . Par exemple:

const map = new Map([[NaN, true]]);
console.log(map.get(NaN)); // true

Créer une carte

Une carte est un mappage de base des clés aux valeurs. Les cartes sont différentes des objets en ce sens que leurs clés peuvent être n'importe quoi (valeurs primitives ainsi que des objets), pas seulement des chaînes et des symboles. L'itération sur les cartes est également toujours effectuée dans l'ordre dans lequel les éléments ont été insérés dans la carte, tandis que l'ordre n'est pas défini lors d'une itération sur des clés dans un objet.

Pour créer une carte, utilisez le constructeur Map:

const map = new Map();

Il a un paramètre facultatif, qui peut être n'importe quel objet itérable (par exemple un tableau) qui contient des tableaux de deux éléments - le premier est la clé, les secondes la valeur. Par exemple:

const map = new Map([[new Date(), {foo: "bar"}], [document.body, "body"]]);
//                      ^key          ^value          ^key        ^value

Effacer une carte

Pour supprimer tous les éléments d'une carte, utilisez la méthode .clear() :

map.clear();

Exemple:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.get(1)); // undefined

Supprimer un élément d'une carte

Pour supprimer un élément d'une carte, utilisez la méthode .delete() .

map.delete(key);

Exemple:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.get(3)); // 4
map.delete(3);
console.log(map.get(3)); // undefined

Cette méthode renvoie true si l'élément existe et a été supprimé, sinon false :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.delete(1)); // true
console.log(map.delete(7)); // false

Vérifier si une clé existe dans une carte

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

map.has(key);

Exemple:

const map = new Map([[1, 2], [3, 4]]);
console.log(map.has(1)); // true
console.log(map.has(2)); // false

Cartes itératives

Map a trois méthodes qui retournent des itérateurs: .keys() , .values() et .entries() . .entries() est l'itérateur de carte par défaut et contient [key, value] paires [key, value] .

const map = new Map([[1, 2], [3, 4]]);

for (const [key, value] of map) {
  console.log(`key: ${key}, value: ${value}`);
  // logs:
  // key: 1, value: 2
  // key: 3, value: 4
}

for (const key of map.keys()) {
  console.log(key); // logs 1 and 3
}

for (const value of map.values()) {
  console.log(value); // logs 2 and 4
}

La carte a également la méthode .forEach() . Le premier paramètre est une fonction de rappel qui sera appelée pour chaque élément dans la carte, et le deuxième paramètre est la valeur qui sera utilisée comme this lors de l' exécution de la fonction de rappel.

La fonction de rappel a trois arguments: valeur, clé et objet carte.

const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4

Obtenir et définir des éléments

Utilisez .get(key) pour obtenir une valeur par clé et .set(key, value) pour attribuer une valeur à une clé.

Si l'élément avec la clé spécifiée n'existe pas dans la carte, .get() renvoie undefined .

.set() méthode .set() renvoie l'objet map, vous pouvez donc enchaîner les .set() .

const map = new Map();
console.log(map.get(1)); // undefined
map.set(1, 2).set(3, 4);
console.log(map.get(1)); // 2

Obtenir le nombre d'éléments d'une carte

Pour obtenir le nombre d'éléments d'une carte, utilisez la propriété .size :

const map = new Map([[1, 2], [3, 4]]);
console.log(map.size); // 2


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow