TypeError: az object.forEach nem függvény a JavaScriptben

Typeerror Az Object Foreach Nem Fuggveny A Javascriptben



A JavaScriptben a „ az egyes() ” metódus minden tömbelemre egyszer végrehajt egy adott függvényt. A forEach() metódus minden tömb, halmaz vagy leképezés elemén használatos. Ha ezt a módszert bármilyen más típusnál próbálja használni, hibaüzenetet fog adni ' Az object.forEach nem függvény a JavaScriptben ”. Tehát használja tömbökön, térképeken vagy halmazokon, vagy alakítsa át az értékeket ezekre a típusokra, majd alkalmazza rájuk ezt a módszert.

Ez a cikk meghatározza az említett hibát és annak lehetséges megoldásait.

Hogyan fordul elő a „TypeError: object.forEach nem függvény a JavaScriptben”?

Ha olyan értéket használunk, amely nem tömb, térkép vagy halmaz, akkor a „ az egyes() 'módszer, például ' Tárgy ' és így tovább, a ' TypeError: az object.forEach nem függvény a JavaScriptben ' bekövetkezik. Teszteljük a leírt okot a gyakorlatban.







Példa

Az adott példában először létrehozunk egy objektumot kulcs-érték párban lévő tulajdonságaival:



const tárgy = {

név : 'István' ,

rollno : tizenegy ,

tantárgy : 'Kereskedelem'

} ;

Ezután nyomtassa ki tulajdonságait/bejegyzéseit a konzolon a forEach() metódussal:



tárgy. az egyes ( O => {

konzol. log ( O ) ;

} ) ;

Amint a kimenetben látható, hiba történt, mert a forEach metódus nem alkalmazható objektumokra:





Hogyan lehet kijavítani a megadott hibát?

A fent tárgyalt hiba megoldásához használja az Object metódusait, például Object.keys() ', hogy kulcsokat kapjon egy tömbben, ' Object.values() ' az objektum értékeinek lekéréséhez, vagy ' Object.entries() ” egy objektum összes bejegyzésének lekéréséhez. Ráadásul a „ Array.from() ” metódus a megadott objektumot objektumok tömbjévé alakítja.



Próbáljunk meg egy példát a probléma megoldására.

1. példa: Javítsa ki az említett hibát Object.entries() metódussal

Ebben a példában egy objektum bejegyzéseit a ' Object.entries() ' módszer a ' az egyes() ” metódus, amely az objektumok kulcs-érték párokban lévő bejegyzéseinek tömbjét adja vissza:

Tárgy . bejegyzés ( tárgy ) . az egyes ( ban ben => {

konzol. log ( ban ben ) ;

} ) ;

Nem ad hibát, mert az Object.entries() metódus tömbbe konvertálja az értékeket, és a forEach() metódus az adott függvény végrehajtására szolgál minden elemen.

A kimenet azt jelzi, hogy a forEach() metódus sikeresen lefutott az objektumon az Object.entries() metódussal:

Jegyzet: A forEach metódust az Object.keys() és Object.values() metódusok használatával egy objektum kulcsainak és értékeinek lekérésére is alkalmazzák.

Most pedig nézzük meg, ha nem szeretné megszerezni egy objektum kulcsait, értékeit vagy bejegyzéseit, akkor mit tenne? Lásd a megadott példát!

2. példa: Javítsa ki az említett hibát az Array.from() metódussal

A hiba kijavításához alakítsa át az objektumot objektumok tömbjévé, majd alkalmazza rajta a forEach() metódust a ' Array.from() ” módszerrel. Hiba nélkül kiírja az objektum összes tulajdonságát.

Először alakítsuk át az objektumot objektumok tömbjévé:

const tárgy = [ {

név : 'István' ,

rollno : tizenegy ,

tantárgy : 'Kereskedelem'

} ]

Hívja meg a forEach() metódust:

Sor . tól től ( tárgy ) . az egyes ( nál nél => {

konzol. log ( nál nél ) ;

} ) ;

Kimenet

Összegyűjtöttük az összes lehetséges legjobb megoldást a megadott hiba kijavítására.

Következtetés

Az említett hiba akkor fordul elő, amikor megpróbálja használni a „ az egyes() ” metódus olyan értéken, amely nem tömb, halmaz vagy leképezés. A hiba kijavításához használja a „ Array.from() ” metódussal konvertálja az objektumot tömbbé, majd használja rajta a forEach() metódust. Ez a cikk az említett hiba előfordulását és megoldását ismerteti.