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.