Questo articolo definirà l'errore menzionato e le sue possibili soluzioni.
Come si verifica 'TypeError: object.forEach non è una funzione in JavaScript'?
Quando viene utilizzato un valore che non è un array, una mappa o un set, il ' per ciascuno() ” metodo come “ Oggetto ” e così via, il “ TypeError: object.forEach non è una funzione in JavaScript ” si verifica. Testiamo praticamente la causa dichiarata.
Esempio
Nell'esempio dato, per prima cosa creeremo un oggetto con le sue proprietà nella coppia chiave-valore:
cost oggetto = {
nome : 'Stefano' ,
rollno : undici ,
argomento : 'Commercio'
} ;
Quindi, stampa le sue proprietà/voci sulla console usando il metodo forEach():
oggetto. per ciascuno ( O => {
consolare. tronco d'albero ( O ) ;
} ) ;
Come puoi vedere nell'output, si verifica un errore perché il metodo forEach non è applicabile per gli oggetti:
Come correggere l'errore specificato?
Per risolvere l'errore sopra discusso, utilizzare i metodi di Object come ' Oggetto.keys() ” per ottenere le chiavi in un array, “ Oggetto.valori() ” per ottenere i valori dell'oggetto, o “ Oggetto.voci() ” per recuperare tutte le voci di un oggetto. Inoltre, il “ Array.da() ” converte l'oggetto specificato in un array di oggetti.
Proviamo un esempio per risolvere questo problema.
Esempio 1: correggere l'errore citato utilizzando un metodo Object.entries()
In questo esempio, otterremo le voci di un oggetto utilizzando il ' Oggetto.voci() ” metodo con il “ per ciascuno() ” metodo che restituisce un array di voci dell'oggetto in coppie chiave-valore:
Oggetto . inserimenti ( oggetto ) . per ciascuno ( in => {consolare. tronco d'albero ( in ) ;
} ) ;
Non darà un errore, perché il metodo Object.entries() converte i valori in un array e il metodo forEach() viene utilizzato per eseguire la funzione data su ogni elemento.
L'output indica che il metodo forEach() è stato eseguito correttamente sull'oggetto utilizzando il metodo Object.entries():
Nota: Il metodo forEach viene applicato anche per ottenere chiavi e valori di un oggetto utilizzando il metodo Object.keys() e Object.values().
Ora, vediamo se non vuoi ottenere le chiavi, i valori o le voci di un oggetto, quindi cosa faresti? Guarda l'esempio dato!
Esempio 2: correggere l'errore citato utilizzando il metodo Array.from()
Per correggere questo errore, convertire l'oggetto in un array di oggetti e quindi applicare il metodo forEach() su di esso utilizzando il metodo ' Array.da() ' metodo. Stamperà tutte le proprietà di un oggetto senza dare un errore.
Per prima cosa convertiamo l'oggetto in un array di oggetti:
cost oggetto = [ {nome : 'Stefano' ,
rollno : undici ,
argomento : 'Commercio'
} ]
Chiama il metodo forEach():
Vettore . a partire dal ( oggetto ) . per ciascuno ( in => {consolare. tronco d'albero ( in ) ;
} ) ;
Produzione
Abbiamo compilato tutte le migliori soluzioni possibili per correggere l'errore specificato.
Conclusione
L'errore menzionato si verifica quando si tenta di utilizzare il ' per ciascuno() ” su un valore che non è un array, un set o una mappa. Per correggere questo errore, utilizzare il ' Array.da() ” per convertire l'oggetto in un array e quindi utilizzare il metodo forEach() su di esso. Questo articolo ha descritto il verificarsi e la soluzione dell'errore menzionato.