TypeError: object.forEach ist keine Funktion in JavaScript

Typeerror Object Foreach Ist Keine Funktion In Javascript



In JavaScript ist das „ für jeden() ”-Methode führt eine gegebene Funktion einmal für jedes Array-Element aus. Die forEach()-Methode wird für jedes Array-, Set- oder Map-Element verwendet. Wenn Sie versuchen, diese Methode für einen anderen Typ zu verwenden, wird ein Fehler ausgegeben. object.forEach ist keine Funktion in JavaScript “. Verwenden Sie es also für Arrays, Maps oder Sets oder konvertieren Sie die Werte in diese Typen und wenden Sie diese Methode dann auf sie an.

In diesem Artikel werden der erwähnte Fehler und seine möglichen Lösungen definiert.

Wie kommt es zu „TypeError: object.forEach is not a function in JavaScript“?

Wenn ein Wert verwendet wird, der kein Array, Map oder Set ist, wird der „ für jeden() ” Methode wie “ Objekt “ und so weiter, die „ TypeError: object.forEach ist keine Funktion in JavaScript ' tritt ein. Lassen Sie uns die angegebene Ursache praktisch testen.







Beispiel

Im angegebenen Beispiel erstellen wir zunächst ein Objekt mit seinen Eigenschaften im Schlüssel-Wert-Paar:



konst Objekt = {

Name : 'Stephan' ,

rollnr : elf ,

Thema : 'Handel'

} ;

Drucken Sie dann seine Eigenschaften/Einträge auf der Konsole mit der Methode forEach () aus:



Objekt. für jeden ( Ö => {

Konsole. Protokoll ( Ö ) ;

} ) ;

Wie Sie in der Ausgabe sehen können, ist ein Fehler aufgetreten, weil die Methode forEach nicht für Objekte anwendbar ist:





Wie behebt man den angegebenen Fehler?

Um den oben diskutierten Fehler zu beheben, verwenden Sie die Methoden von Object wie „ Object.keys() ” um Schlüssel in einem Array zu erhalten, “ Objekt.Werte() ” zum Abrufen von Werten des Objekts oder “ Objekt.Einträge() ” zum Abrufen aller Einträge eines Objekts. Außerdem ist die „ Array.from() ”-Methode konvertiert das angegebene Objekt in ein Array von Objekten.



Versuchen wir ein Beispiel, um dieses Problem zu lösen.

Beispiel 1: Beheben Sie den erwähnten Fehler mit einer Object.entries()-Methode

In diesem Beispiel erhalten wir die Einträge eines Objekts mit dem „ Objekt.Einträge() “-Methode mit dem „ für jeden() “-Methode, die ein Array von Objekteinträgen in Schlüssel-Wert-Paaren zurückgibt:

Objekt . Einträge ( Objekt ) . für jeden ( in => {

Konsole. Protokoll ( in ) ;

} ) ;

Es wird kein Fehler ausgegeben, da die Object.entries()-Methode die Werte in einem Array konvertiert und die forEach()-Methode verwendet wird, um die angegebene Funktion für jedes Element auszuführen.

Die Ausgabe zeigt an, dass die Methode forEach() mithilfe der Methode Object.entries() erfolgreich für das Objekt ausgeführt wurde:

Notiz: Die forEach-Methode wird auch zum Abrufen von Schlüsseln und Werten eines Objekts mithilfe der Methoden Object.keys() und Object.values() angewendet.

Lassen Sie uns nun sehen, ob Sie die Schlüssel, Werte oder Einträge eines Objekts nicht erhalten möchten. Was würden Sie also tun? Siehe das angegebene Beispiel!

Beispiel 2: Beheben Sie den erwähnten Fehler mit der Methode Array.from()

Um diesen Fehler zu beheben, konvertieren Sie das Objekt in ein Array von Objekten und wenden Sie dann die forEach() -Methode darauf an, indem Sie die „ Array.from() ' Methode. Es werden alle Eigenschaften eines Objekts gedruckt, ohne dass ein Fehler ausgegeben wird.

Konvertieren wir das Objekt zunächst in ein Array von Objekten:

konst Objekt = [ {

Name : 'Stephan' ,

rollnr : elf ,

Thema : 'Handel'

} ]

Rufen Sie die Methode forEach() auf:

Array . von ( Objekt ) . für jeden ( bei => {

Konsole. Protokoll ( bei ) ;

} ) ;

Ausgabe

Wir haben alle bestmöglichen Lösungen zusammengestellt, um den angegebenen Fehler zu beheben.

Fazit

Der erwähnte Fehler tritt auf, wenn Sie versuchen, die „ für jeden() ”-Methode für einen Wert, der kein Array, Set oder Map ist. Um diesen Fehler zu beheben, verwenden Sie das „ Array.from() ”-Methode, um das Objekt in ein Array zu konvertieren, und verwenden Sie dann die forEach()-Methode darauf. Dieser Artikel beschreibt das Auftreten und die Lösung des genannten Fehlers.