Typeerror objekt.Foreach er ikke en funksjon i JavaScript

Typeerror objekt.Foreach er ikke en funksjon i JavaScript
I JavaScript, "for hver()”Metode utfører en gitt funksjon en gang for hvert array -element. Foreach () -metoden brukes på hver matrise, sett eller karts element. Hvis du prøver å bruke denne metoden på noen annen type, vil den kaste en feil "gjenstand.Foreach er ikke en funksjon i JavaScript”. Så bruk den på matriser, kart eller setter eller konverter verdiene til disse typene, og bruk deretter denne metoden på dem.

Denne artikkelen vil definere den nevnte feilen og dens mulige løsninger.

Hvordan gjør “typeerror: objekt.Foreach er ikke en funksjon i JavaScript ”forekommer?

Når en verdi som ikke er en matrise, kart eller sett, brukes, "for hver()”Metode som“Gjenstand”Og så videre,“Typeerror: Objekt.Foreach er ikke en funksjon i JavaScript" inntreffer. La oss teste den uttalte årsaken praktisk talt.

Eksempel

I det gitte eksemplet vil vi først lage et objekt med dets egenskaper i nøkkelverdipar:

const objekt =
Navn: 'Stephen',
Rollno: 11,
Emne: 'handel'
;

Skriv deretter ut sine egenskaper/oppføringer på konsollen ved hjelp av foreach () -metoden:

gjenstand.foreach (o =>
konsoll.logg (o);
);

Som du kan se i utdataene, oppstå en feil fordi foreach -metoden ikke er aktuelt for objekter:

Hvordan fikse den spesifiserte feilen?

For å løse den ovennevnte feilen, bruk objektets metoder som "Gjenstand.nøkler ()”For å få nøkler i en matrise,”Gjenstand.verdier ()”For å få verdiene til objektet, eller“Gjenstand.innganger()”For å hente alle oppføringene til et objekt. Dessuten "Array.fra()”Metode konverterer det spesifiserte objektet til en rekke objekter.

La oss prøve et eksempel for å løse dette problemet.

Eksempel 1: Fix den nevnte feilen ved hjelp av et objekt.Oppføringer () Metode

I dette eksemplet vil vi få oppføringene til et objekt ved å bruke "Gjenstand.innganger()”Metode med“for hver()”Metode som returnerer en rekke objektets oppføringer i nøkkelverdipar:

Gjenstand.Oppføringer (objekt).foreach (no =>
konsoll.logg (en);
);

Det vil ikke gi en feil, fordi objektet.Oppføringer () -metoden konverterer verdiene i en matrise og foreach () -metoden brukes til å utføre den gitte funksjonen på hvert element.

Utgangen indikerer at foreach () -metoden kjøres vellykket på objektet ved å bruke objektet.Oppføringer () Metode:

Merk: Foreach -metoden brukes også for å få nøkler og verdier av et objekt ved å bruke objektet.nøkler () og objekt.Verdier () Metode.

La oss se om du ikke vil få et objekts nøkler, verdier eller oppføringer, så hva ville du gjort? Se det gitte eksemplet!

Eksempel 2: Fix den nevnte feilen ved hjelp av matrise.fra () metode

For å fikse denne feilen, konverter objektet til en rekke objekter og bruk deretter foreach () -metoden på den ved å bruke “Array.fra()”Metode. Det vil skrive ut alle egenskapene til et objekt uten å gi en feil.

La oss først konvertere objektet til en rekke objekter:

const objekt = [
Navn: 'Stephen',
Rollno: 11,
Emne: 'handel'
]

Ring foreach () -metoden:

Array.fra (objekt).foreach (ob =>
konsoll.Logg (OB);
);

Produksjon

Vi har samlet alle best mulig løsningene for å fikse den spesifiserte feilen.

Konklusjon

Den nevnte feilen oppstår når du prøver å bruke “for hver()”Metode på en verdi som ikke er en matrise, sett eller kart. For å fikse denne feilen, bruk "Array.fra()”Metode for å konvertere objektet til en matrise og deretter bruke foreach () -metoden på den. Denne artikkelen beskrev forekomsten og løsningen av den nevnte feilen.