TypeError: object.forEach není funkce v JavaScriptu

Typeerror Object Foreach Neni Funkce V Javascriptu



V JavaScriptu „ pro každého() Metoda ” provede danou funkci jednou pro každý prvek pole. Metoda forEach() se používá u každého prvku Array, Set nebo Map. Pokud se pokusíte použít tuto metodu na jakémkoli jiném typu, zobrazí chybu „ object.forEach není funkce v JavaScriptu “. Použijte jej tedy na pole, mapy nebo sady nebo převeďte hodnoty na tyto typy a poté na ně aplikujte tuto metodu.

Tento článek bude definovat zmíněnou chybu a její možná řešení.

Jak se objeví „TypeError: object.forEach není funkce v JavaScriptu“?

Když je použita hodnota, která není pole, mapa nebo sada, „ pro každého() “ metoda jako “ Objekt “ a tak dále, „ TypeError: object.forEach není funkce v JavaScriptu “ se vyskytuje. Pojďme si uvedenou příčinu prakticky vyzkoušet.







Příklad

V uvedeném příkladu nejprve vytvoříme objekt s jeho vlastnostmi v páru klíč-hodnota:



konst objekt = {

název : 'Stephen' ,

rollno : jedenáct ,

předmět : 'Komerce'

} ;

Poté vytiskněte jeho vlastnosti/položky na konzole pomocí metody forEach():



objekt. pro každého ( Ó => {

řídicí panel. log ( Ó ) ;

} ) ;

Jak můžete vidět na výstupu, došlo k chybě, protože metodu forEach nelze použít pro objekty:





Jak opravit specifikovanou chybu?

Chcete-li vyřešit výše diskutovanou chybu, použijte metody Object, jako je „ Object.keys() “, abyste získali klíče v poli, “ Object.values() “ pro získání hodnot objektu, nebo “ Object.entries() ” pro načtení všech položek objektu. Navíc, „ Array.from() ” metoda převede zadaný objekt na pole objektů.



Zkusme tento problém vyřešit na příkladu.

Příklad 1: Opravte zmíněnou chybu pomocí metody Object.entries().

V tomto příkladu získáme položky objektu pomocí „ Object.entries() “ metoda s “ pro každého() ” metoda, která vrací pole položek objektů v párech klíč–hodnota:

Objekt . záznamy ( objekt ) . pro každého ( v => {

řídicí panel. log ( v ) ;

} ) ;

Nezobrazí chybu, protože metoda Object.entries() převádí hodnoty v poli a metoda forEach() se používá ke spuštění dané funkce na každém prvku.

Výstup indikuje, že metoda forEach() je úspěšně spuštěna na objektu pomocí metody Object.entries():

Poznámka: Metoda forEach se také používá pro získání klíčů a hodnot objektu pomocí metod Object.keys() a Object.values().

Nyní se podívejme, jestli nechcete získat klíče, hodnoty nebo položky objektu, tak co byste udělali? Viz uvedený příklad!

Příklad 2: Opravte zmíněnou chybu pomocí metody Array.from().

Chcete-li tuto chybu opravit, převeďte objekt na pole objektů a poté na něj použijte metodu forEach() pomocí „ Array.from() “ metoda. Vytiskne všechny vlastnosti objektu, aniž by došlo k chybě.

Nejprve převedeme objekt na pole objektů:

konst objekt = [ {

název : 'Stephen' ,

rollno : jedenáct ,

předmět : 'Komerce'

} ]

Zavolejte metodu forEach():

Pole . z ( objekt ) . pro každého ( na => {

řídicí panel. log ( na ) ;

} ) ;

Výstup

Sestavili jsme všechna nejlepší možná řešení pro opravu zadané chyby.

Závěr

Zmíněná chyba nastane, když se pokusíte použít „ pro každého() ” na hodnotu, která není pole, sada nebo mapa. Chcete-li tuto chybu opravit, použijte „ Array.from() ” pro převedení objektu na pole a poté na něj použijte metodu forEach(). Tento článek popsal výskyt a řešení zmíněné chyby.