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.