TypeError: object.forEach nije funkcija u JavaScriptu

Typeerror Object Foreach Nije Funkcija U Javascriptu



U JavaScriptu, ' za svakoga() ” metoda izvršava danu funkciju jednom za svaki element niza. Metoda forEach() koristi se na svakom elementu polja, skupa ili karte. Ako pokušate upotrijebiti ovu metodu na bilo kojoj drugoj vrsti, izbacit će pogrešku ' object.forEach nije funkcija u JavaScriptu ”. Dakle, upotrijebite ga na nizovima, mapama ili skupovima ili pretvorite vrijednosti u ove tipove i zatim primijenite ovu metodu na njih.

Ovaj članak će definirati navedenu grešku i njezina moguća rješenja.

Kako se pojavljuje 'TypeError: object.forEach nije funkcija u JavaScriptu'?

Kada se koristi vrijednost koja nije polje, karta ili skup, ' za svakoga() ' metoda kao što je ' Objekt ' i tako dalje, ' TypeError: object.forEach nije funkcija u JavaScriptu ” javlja se. Isprobajmo navedeni uzrok u praksi.







Primjer

U navedenom primjeru, prvo ćemo stvoriti objekt sa svojim svojstvima u paru ključ-vrijednost:



konst objekt = {

Ime : 'Stjepan' ,

rollno : jedanaest ,

subjekt : 'Trgovina'

} ;

Zatim ispišite njegova svojstva/unose na konzoli pomoću metode forEach():



objekt. za svakoga ( O => {

konzola. log ( O ) ;

} ) ;

Kao što možete vidjeti u izlazu, došlo je do pogreške jer metoda forEach nije primjenjiva za objekte:





Kako popraviti navedenu pogrešku?

Da biste riješili gore spomenutu pogrešku, koristite Objectove metode kao što je ' Object.keys() ' da biste dobili ključeve u nizu, ' Object.values() ” za dobivanje vrijednosti objekta, ili “ Object.entries() ” za dohvaćanje svih unosa objekta. Štoviše, ' Array.from() ” metoda pretvara navedeni objekt u niz objekata.



Pokušajmo na primjeru riješiti ovaj problem.

Primjer 1: Ispravite spomenutu pogrešku pomoću metode Object.entries().

U ovom primjeru ćemo dobiti unose objekta koristeći ' Object.entries() ' metoda s ' za svakoga() ” metoda koja vraća niz unosa objekta u parovima ključ-vrijednost:

Objekt . unose ( objekt ) . za svakoga ( u => {

konzola. log ( u ) ;

} ) ;

Neće dati pogrešku jer metoda Object.entries() pretvara vrijednosti u nizu, a metoda forEach() koristi se za izvršavanje zadane funkcije na svakom elementu.

Izlaz pokazuje da je metoda forEach() uspješno pokrenuta na objektu pomoću metode Object.entries():

Bilješka: Metoda forEach također se primjenjuje za dobivanje ključeva i vrijednosti objekta pomoću metoda Object.keys() i Object.values().

Sada, da vidimo ako ne želite dobiti ključeve, vrijednosti ili unose objekta, pa što biste učinili? Pogledajte navedeni primjer!

Primjer 2: Ispravite spomenutu pogrešku pomoću metode Array.from().

Da biste ispravili ovu pogrešku, pretvorite objekt u niz objekata, a zatim na njega primijenite metodu forEach() koristeći ' Array.from() ” metoda. Ispisat će sva svojstva objekta bez davanja pogreške.

Prvo pretvorimo objekt u niz objekata:

konst objekt = [ {

Ime : 'Stjepan' ,

rollno : jedanaest ,

subjekt : 'Trgovina'

} ]

Pozovite metodu forEach():

Niz . iz ( objekt ) . za svakoga ( na => {

konzola. log ( na ) ;

} ) ;

Izlaz

Sakupili smo sva najbolja moguća rješenja za ispravljanje navedene pogreške.

Zaključak

Spomenuta pogreška se javlja kada pokušate koristiti ' za svakoga() ” na vrijednosti koja nije polje, skup ili karta. Da biste ispravili ovu grešku, koristite ' Array.from() ” za pretvaranje objekta u niz i zatim korištenje metode forEach() na njemu. U ovom članku je opisana pojava i rješenje navedene greške.