Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.
This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.
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"
Specifications
Specification | Stato | Commento |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Standard | Definizione iniziale. |
Compatibilità dei browser
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Supporto di base | 38 | 25.0 (25.0) | 11 | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Supporto di base | Not supported | 38 | 25.0 (25.0) | Not supported | Not supported | 8 |