Il metodo forEach()
esegue una funzione fornita come argomento una volta per ogni coppia key/value
nell'oggetto Map
, secondo l'ordine dell'inseriemento dei valori.
Sintassi
myMap.forEach(callback[, thisArg])
Parametri
callback
- Funzione da eseguire per ogni elemento.
thisArg
- Valore da usare come
this
quando si eseguecallback
.
Descrizione
Il metodo forEach
esegue il callback
passato come parametro una volta per ogni key della map esistente. Non è invocato per key che sono state cancellate. Comunque, è invocato per valori che sono presenti ma hanno valore undefined
.
callback
è invocato con tre argomenti:
- il valore dell'elemento
- la chiave dell'elemento
- l'oggetto
Map
su cui si sta eseguendo il ciclo
Se il parametro thisArg
è fornito al forEach
, sarà passato al callback
quando viene invocato, per essere usato come suo valore this
. In caso contrario, sarà passato il valore undefined
per essere usato come valore this
. Il valore this
visibile definitivamente dal callback
è determinato secondo le normali regole per determinare il this visibile da una funzione.
Il range di elementi processati da forEach
è determinato anteriormente alla prima invocazione del callback
. Gli elementi che sono aggiunti all'oggetto Map
dopo che la chiamata a forEach
inizi non saranno visitati dal callback
. Se eleemnti esistenti dell'oggetto Map
vengono cambiati, o cancellati, il loro valore passato al callback
sarà il valore nel momento in cui il forEach
li visita; elementi che vengono cancellati non sono visitati.
forEach
esegue la funzione callback
una volta per ogni elemento nell'oggetto Map
; non restituisce alcun valore.
Esempi
Stampare il contenuto di un oggetto Map
Il seguente codice stampa nella console una riga per ogni elemento in un oggetto Map
:
function logMapElements(value, key, map) {
console.log("m[" + key + "] = " + value);
}
Map([["foo", 3], ["bar", {}], ["baz", undefined]]).forEach(logMapElements);
// logs:
// "m[foo] = 3"
// "m[bar] = [object Object]"
// "m[baz] = undefined"
Specifiche
Specification | Stato | Commento |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Standard | Definizione iniziale. |
Compatibilità dei browser
BCD tables only load in the browser