Ricerca…


Sintassi

  • nuova mappa ([iterable])
  • map.set (chiave, valore)
  • map.get (chiave)
  • map.size
  • map.clear ()
  • map.delete (chiave)
  • map.entries ()
  • map.keys ()
  • map.values ​​()
  • map.forEach (callback [, thisArg])

Parametri

Parametro Dettagli
iterable Qualsiasi oggetto iterabile (ad esempio un array) contenente coppie [key, value] .
key La chiave di un elemento.
value Il valore assegnato alla chiave.
callback Funzione di callback chiamata con tre parametri: valore, chiave e la mappa.
thisArg Valore che verrà utilizzato come this quando si esegue la callback .

Osservazioni

In Maps NaN è considerato uguale a NaN , anche se NaN !== NaN . Per esempio:

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

Creazione di una mappa

Una mappa è una mappatura di base delle chiavi ai valori. Le mappe sono diverse dagli oggetti in quanto le loro chiavi possono essere qualsiasi cosa (valori primitivi e oggetti), non solo stringhe e simboli. L'iterazione su Maps viene sempre eseguita anche nell'ordine in cui gli elementi sono stati inseriti nella Mappa, mentre l'ordine non è definito durante l'iterazione delle chiavi in ​​un oggetto.

Per creare una mappa, usa il costruttore di mappe:

const map = new Map();

Ha un parametro opzionale, che può essere qualsiasi oggetto iterabile (ad esempio un array) che contiene matrici di due elementi: prima è la chiave, i secondi è il valore. Per esempio:

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

Cancellare una mappa

Per rimuovere tutti gli elementi da una mappa, utilizzare il metodo .clear() :

map.clear();

Esempio:

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

Rimozione di un elemento da una mappa

Per rimuovere un elemento da una mappa usa il metodo .delete() .

map.delete(key);

Esempio:

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

Questo metodo restituisce true se l'elemento esiste ed è stato rimosso, altrimenti false :

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

Verifica se esiste una chiave in una mappa

Per verificare se esiste una chiave in una mappa, utilizzare il metodo .has() :

map.has(key);

Esempio:

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

Iterazione delle mappe

La mappa ha tre metodi che restituiscono gli iteratori: .keys() , .values() e .entries() . .entries() è l'iteratore di mappa predefinito e contiene coppie [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 mappa ha anche il metodo .forEach() . Il primo parametro è una funzione di callback, che verrà chiamata per ogni elemento nella mappa e il secondo parametro è il valore che verrà utilizzato come this quando si esegue la funzione di callback.

La funzione di callback ha tre argomenti: valore, chiave e l'oggetto della mappa.

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

Ottenere e impostare elementi

Usa .get(key) per ottenere il valore con chiave e .set(key, value) per assegnare un valore a un tasto.

Se l'elemento con la chiave specificata non esiste nella mappa, .get() restituisce undefined .

.set() metodo .set() restituisce l'oggetto della mappa, quindi puoi effettuare una catena di chiamate .set() .

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

Ottenere il numero di elementi di una mappa

Per ottenere il numero di elementi di una mappa, utilizzare la proprietà .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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow