JavaScript forEach - Kako se vrti skozi matriko v JS

Metoda JavaScript forEach je eden izmed številnih načinov za kroženje po nizih. Vsaka metoda ima različne značilnosti, odvisno od tega, kaj počnete, pa se odločite sami.

V tej objavi si bomo podrobneje ogledali metodo JavaScript forEach.

Glede na to, da imamo spodaj naslednjo matriko:

const numbers = [1, 2, 3, 4, 5];

Uporaba tradicionalne zanke "for" za zanko skozi matriko bi bila takšna:

for (i = 0; i < numbers.length; i++) { console.log(numbers[i]); } 

V čem je metoda forEach () drugačna?

Za zanko po nizih se uporablja tudi metoda forEach, ki pa uporablja funkcijo drugače kot klasična zanka.

Metoda forEach posreduje funkcijo povratnega klica za vsak element matrike skupaj z naslednjimi parametri:

  • Trenutna vrednost (obvezna) - vrednost trenutnega elementa matrike
  • Indeks (neobvezno) - številka indeksa trenutnega elementa
  • Matrika (neobvezno) - Predmet matrike, ki ji pripada trenutni element

Naj razložim te parametre korak za korakom.

Prvič, če želite zanko skozi matriko forEach uporabiti, potrebujete funkcijo povratnega klica (ali anonimno funkcijo):

numbers.forEach(function() { // code });

Funkcija se bo izvajala za vsak posamezen element polja. Vzeti mora vsaj en parameter, ki predstavlja elemente polja:

numbers.forEach(function(number) { console.log(number); });

To je vse, kar moramo storiti za zanko skozi matriko:

Za poenostavitev kode lahko uporabite tudi prikaz funkcije puščice ES6:

numbers.forEach(number => console.log(number));

Neobvezni parametri

Kazalo

V redu, nadaljujmo z neobveznimi parametri. Prvi je parameter "indeks", ki predstavlja indeksno številko vsakega elementa.

V osnovi lahko vidimo indeksno številko elementa, če ga vključimo kot drugi parameter:

numbers.forEach((number, index) => { console.log('Index: ' + index + ' Value: ' + number); });

Matrika

Parameter matrike je matrika sama. Prav tako ni obvezen in se po potrebi lahko uporablja pri različnih operacijah. V nasprotnem primeru se bo le-ta natisnil tolikokrat, kot je število elementov polja:

numbers.forEach((number, index, array) => { console.log(array); });

Primer uporabe metode forEach () si lahko ogledate v tem videoposnetku:

Podpora za brskalnik

Metoda Array.forEach je podprta v vseh brskalnikih, ki pričakujejo različico IE 8 ali starejšo:

Če želite izvedeti več o spletnem razvoju, obiščite moj Youtube kanal.

Hvala za branje!