Mappe JavaScript
Una mappa contiene coppie chiave-valore in cui le chiavi possono essere di qualsiasi tipo di dati.
Una mappa ricorda l'ordine di inserimento originale delle chiavi.
Una mappa ha una proprietà che rappresenta la dimensione della mappa.
Metodi della mappa
Metodo | Descrizione |
---|---|
nuova mappa() | Crea un nuovo oggetto Mappa |
impostato() | Imposta il valore per una chiave in una mappa |
ottenere() | Ottiene il valore di una chiave in una mappa |
chiaro() | Rimuove tutti gli elementi da una mappa |
eliminare() | Rimuove un elemento Map specificato da una chiave |
ha() | Restituisce true se esiste una chiave in una mappa |
per ciascuno() | Richiama una richiamata per ogni coppia chiave/valore in una mappa |
inserimenti() | Restituisce un oggetto iteratore con le coppie [chiave, valore] in una mappa |
chiavi() | Restituisce un oggetto iteratore con le chiavi in una mappa |
i valori() | Restituisce un oggetto iteratore dei valori in una mappa |
Proprietà | Descrizione |
---|---|
dimensione | Restituisce il numero di elementi della mappa |
Come creare una mappa
Puoi creare una mappa JavaScript:
- Passare un array a
new Map()
- Crea una mappa e usa
Map.set()
nuova mappa()
Puoi creare una mappa passando un Array al new Map()
costruttore:
Esempio
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Map.set()
Puoi aggiungere elementi a una mappa con il set()
metodo:
Esempio
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
Il set()
metodo può essere utilizzato anche per modificare i valori della mappa esistenti:
Esempio
fruits.set("apples", 500);
Mappa.get()
Il get()
metodo ottiene il valore di una chiave in una mappa:
Esempio
fruits.get("apples"); // Returns 500
Dimensione.mappa
La size
proprietà restituisce il numero di elementi in una mappa:
Esempio
fruits.size;
Map.delete()
Il delete()
metodo rimuove un elemento Map:
Esempio
fruits.delete("apples");
Map.clear()
Il clear()
metodo rimuove tutti gli elementi da una mappa:
Esempio
fruits.clear();
Map.has()
Il has()
metodo restituisce true se esiste una chiave in una mappa:
Esempio
fruits.has("apples");
Prova questo:
fruits.delete("apples");
fruits.has("apples");
Le mappe sono oggetti
typeof
restituisce oggetto:
Esempio
// Returns object:
typeof fruits;
instanceof
La mappa restituisce true:
Esempio
// Returns true:
fruits instanceof Map;
Oggetti JavaScript vs Mappe
Differenze tra oggetti e mappe JavaScript:
Oggetto | Carta geografica | |
---|---|---|
Iterabile | Non direttamente iterabile | Direttamente iterabile |
Misurare | Non hanno una proprietà di dimensioni | Avere una proprietà di dimensioni |
Tipi di chiavi | Le chiavi devono essere stringhe (o simboli) | Le chiavi possono essere qualsiasi tipo di dati |
Ordine chiave | Le chiavi non sono ben ordinate | Le chiavi sono ordinate per inserimento |
Predefiniti | Avere chiavi predefinite | Non hanno chiavi predefinite |
Map.forEach()
Il forEach()
metodo richiama un callback per ogni coppia chiave/valore in una mappa:
Esempio
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
Map.keys()
Il keys()
metodo restituisce un oggetto iteratore con le chiavi in una mappa:
Esempio
// List all keys
let veggies = "";
for (const x of fruits.keys()) {
veggies += x;
}
Map.values()
Il values
metodo restituisce un oggetto iteratore con i valori in una mappa:
Esempio
// Sum all values
let total = 0;
for (const x of fruits.values()) {
total += x;
}
Mappa.voci()
Il entries()
metodo restituisce un oggetto iteratore con [chiave, valori] in una mappa:
Esempio
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
Oggetti come chiavi
Essere in grado di utilizzare gli oggetti come chiavi è una caratteristica importante della mappa.
Esempio
// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};
// Create a Map
const fruits = new Map();
// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);
Ricorda: la chiave è un oggetto (mele), non una stringa ("mele"):
Esempio
fruits.get("apples"); // Returns undefined
Supporto browser
Le mappe JavaScript sono supportate in tutti i browser, ad eccezione di Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |