TypeError : object.forEach n'est pas une fonction en JavaScript

Typeerror Object Foreach N Est Pas Une Fonction En Javascript



En JavaScript, le ' pour chaque() ” La méthode exécute une fonction donnée une fois pour chaque élément du tableau. La méthode forEach() est utilisée sur chaque élément de Array, Set ou Map. Si vous essayez d'utiliser cette méthode sur un autre type, une erreur ' object.forEach n'est pas une fonction en JavaScript ”. Utilisez-le donc sur des tableaux, des cartes ou des ensembles ou convertissez les valeurs en ces types, puis appliquez-leur cette méthode.

Cet article définira l'erreur mentionnée et ses solutions possibles.

Comment « TypeError : object.forEach n'est pas une fonction en JavaScript » se produit-il ?

Lorsqu'une valeur qui n'est pas un tableau, une carte ou un ensemble est utilisée, le ' pour chaque() 'méthode telle que' Objet » et ainsi de suite, le « TypeError : object.forEach n'est pas une fonction en JavaScript ' se produit. Testons pratiquement la cause indiquée.







Exemple

Dans l'exemple donné, nous allons d'abord créer un objet avec ses propriétés en paire clé-valeur :



constante objet = {

Nom : 'Stephen' ,

rollno : Onze ,

matière : 'Commerce'

} ;

Ensuite, imprimez ses propriétés/entrées sur la console en utilisant la méthode forEach() :



objet. pour chaque ( O => {

console. Journal ( O ) ;

} ) ;

Comme vous pouvez le voir dans la sortie, une erreur est rencontrée car la méthode forEach n'est pas applicable aux objets :





Comment corriger l'erreur spécifiée ?

Pour résoudre l'erreur décrite ci-dessus, utilisez les méthodes d'Object telles que ' Objet.keys() ' pour obtenir des clés dans un tableau, ' Objet.values() ' pour obtenir les valeurs de l'objet, ou ' Objet.entries() ” pour récupérer toutes les entrées d'un objet. De plus, le « Tableau.de() ” convertit l'objet spécifié en un tableau d'objets.



Essayons un exemple pour résoudre ce problème.

Exemple 1 : Correction de l'erreur mentionnée à l'aide d'une méthode Object.entries()

Dans cet exemple, nous obtiendrons les entrées d'un objet en utilisant le ' Objet.entries() ' méthode avec le ' pour chaque() ” méthode qui renvoie un tableau d'entrées d'objet dans des paires clé-valeur :

Objet . entrées ( objet ) . pour chaque ( dans => {

console. Journal ( dans ) ;

} ) ;

Cela ne donnera pas d'erreur, car la méthode Object.entries() convertit les valeurs dans un tableau et la méthode forEach() est utilisée pour exécuter la fonction donnée sur chaque élément.

La sortie indique que la méthode forEach() est exécutée avec succès sur l'objet à l'aide de la méthode Object.entries() :

Noter: La méthode forEach est également appliquée pour obtenir les clés et les valeurs d'un objet à l'aide des méthodes Object.keys() et Object.values().

Maintenant, voyons si vous ne voulez pas obtenir les clés, les valeurs ou les entrées d'un objet, alors que feriez-vous ? Voir l'exemple donné !

Exemple 2 : Correction de l'erreur mentionnée à l'aide de la méthode Array.from()

Pour corriger cette erreur, convertissez l'objet en un tableau d'objets, puis appliquez-lui la méthode forEach() en utilisant le ' Tableau.de() ' méthode. Il imprimera toutes les propriétés d'un objet sans donner d'erreur.

Commençons par convertir l'objet en un tableau d'objets :

constante objet = [ {

Nom : 'Stephen' ,

rollno : Onze ,

matière : 'Commerce'

} ]

Appelez la méthode forEach() :

Déployer . de ( objet ) . pour chaque ( à => {

console. Journal ( à ) ;

} ) ;

Production

Nous avons compilé toutes les meilleures solutions possibles pour corriger l'erreur spécifiée.

Conclusion

L'erreur mentionnée se produit lorsque vous essayez d'utiliser le ' pour chaque() ” méthode sur une valeur qui n'est pas un tableau, un ensemble ou une carte. Pour corriger cette erreur, utilisez le ' Tableau.de() ” pour convertir l'objet en tableau, puis utiliser la méthode forEach() dessus. Cet article décrit l'occurrence et la solution de l'erreur mentionnée.