TypeError: object.forEach ay Hindi isang Function sa JavaScript

Typeerror Object Foreach Ay Hindi Isang Function Sa Javascript



Sa JavaScript, ang ' forEach() Ang paraan ng ” ay nagpapatupad ng isang ibinigay na function nang isang beses para sa bawat elemento ng array. Ang paraang forEach() ay ginagamit sa bawat elemento ng Array, Set, o Map. Kung susubukan mong gamitin ang pamamaraang ito sa anumang iba pang uri, maglalabas ito ng error ' object.forEach ay hindi isang function sa JavaScript ”. Kaya, gamitin ito sa mga array, mapa, o set o i-convert ang mga value sa mga ganitong uri at pagkatapos ay ilapat ang paraang ito sa kanila.

Tutukuyin ng artikulong ito ang nabanggit na error at ang mga posibleng solusyon nito.

Paano Nagaganap ang 'TypeError: object.forEach ay hindi isang function sa JavaScript'?

Kapag ginamit ang value na hindi Array, Map, o Set, ang ' forEach() 'paraan tulad ng' Bagay 'at iba pa, ang' TypeError: object.forEach ay hindi isang function sa JavaScript ” nangyayari. Subukan nating praktikal ang nakasaad na dahilan.







Halimbawa

Sa ibinigay na halimbawa, una, gagawa tayo ng object na may mga katangian nito sa key-value pair:



const bagay = {

pangalan : 'Stephen' ,

rollno : labing-isa ,

paksa : 'Komersiyo'

} ;

Pagkatapos, i-print ang mga property/entry nito sa console gamit ang forEach() method:



bagay. para sa bawat ( O => {

console. log ( O ) ;

} ) ;

Tulad ng makikita mo sa output, may na-encounter na error dahil hindi naaangkop ang forEach para sa mga object:





Paano Ayusin ang Tinukoy na Error?

Upang malutas ang napag-usapan na error, gamitin ang mga pamamaraan ng Object tulad ng ' Object.keys() 'upang makakuha ng mga susi sa isang array,' Object.values() ' para sa pagkuha ng mga halaga ng bagay, o ' Object.entry() ” para sa pagkuha ng lahat ng mga entry ng isang bagay. Bukod dito, ang ' Array.from() Ang paraan ng ” ay nagko-convert sa tinukoy na bagay sa isang hanay ng mga bagay.



Subukan natin ang isang halimbawa upang malutas ang isyung ito.

Halimbawa 1: Ayusin ang Nabanggit na Error Gamit ang Object.entries() Method

Sa halimbawang ito, makukuha natin ang mga entry ng isang bagay gamit ang ' Object.entry() 'paraan na may ' forEach() ” na paraan na nagbabalik ng hanay ng mga entry ng object sa mga pares ng key-value:

Bagay . mga entry ( bagay ) . para sa bawat ( sa => {

console. log ( sa ) ;

} ) ;

Hindi ito magbibigay ng error, dahil kino-convert ng Object.entries() method ang mga value sa isang array at ang forEach() method ay ginagamit para isagawa ang ibinigay na function sa bawat elemento.

Ang output ay nagpapahiwatig na ang forEach() method ay matagumpay na tumatakbo sa Object gamit ang Object.entries() method:

Tandaan: Para sa bawat pamamaraan ay inilapat din para sa pagkuha ng mga susi at halaga ng isang bagay gamit ang Object.keys() at Object.values() na pamamaraan.

Ngayon, tingnan natin kung ayaw mong makakuha ng mga susi, halaga, o entry ng isang bagay, kaya ano ang gagawin mo? Tingnan ang ibinigay na halimbawa!

Halimbawa 2: Ayusin ang Nabanggit na Error Gamit ang Array.from() Method

Upang ayusin ang error na ito, i-convert ang bagay sa isang hanay ng mga bagay at pagkatapos ay ilapat ang paraang forEach() dito gamit ang “ Array.from() ” paraan. Ipi-print nito ang lahat ng katangian ng isang bagay nang hindi nagbibigay ng error.

I-convert muna natin ang object sa isang array ng mga object:

const bagay = [ {

pangalan : 'Stephen' ,

rollno : labing-isa ,

paksa : 'Komersiyo'

} ]

Tawagan ang forEach() na paraan:

Array . mula sa ( bagay ) . para sa bawat ( sa => {

console. log ( sa ) ;

} ) ;

Output

Inipon namin ang lahat ng pinakamahusay na posibleng solusyon upang ayusin ang tinukoy na error.

Konklusyon

Ang nabanggit na error ay nangyayari kapag sinubukan mong gamitin ang ' forEach() ” na paraan sa isang value na hindi Array, Set, o Map. Upang ayusin ang error na ito, gamitin ang ' Array.from() ” na paraan upang i-convert ang bagay sa isang array at pagkatapos ay gamitin ang paraang forEach() dito. Inilarawan ng artikulong ito ang paglitaw at solusyon ng nabanggit na error.