Lietošanas piemērs:
var a = ["a", "b", "c"]; a.forEach(function(entry) ( console.log(entry); ));
Parasti, lai izmantotu forEach, ir jāpievieno es5-shim emulācijas bibliotēka pārlūkprogrammām, kuras sākotnēji neatbalsta šo metodi. Tie ietver IE 8 un jaunākas versijas agrīnās versijas, kas joprojām tiek izmantoti šeit un tur.
ForEach priekšrocība ir tāda, ka nav nepieciešams deklarēt vietējos mainīgos, lai saglabātu pašreizējā masīva elementa indeksu un vērtību, jo tie automātiski tiek nodoti atzvanīšanas funkcijai kā argumenti.
Ja uztraucaties par iespējamām izmaksām, kas saistītas ar katra elementa atzvanīšanu, neuztraucieties un izlasiet šo.
ForEach ir paredzēts visu masīva elementu atkārtošanai, taču papildus tam ES5 piedāvā vēl vairākas noderīgas metodes visu vai dažu elementu atkārtošanai, kā arī dažu darbību veikšanai ar tiem:
Var a = ["a", "b", "c"]; var indekss; priekš (indekss = 0; indekss< a.length; ++index) {
console.log(a);
}
Ja masīva garums ir nemainīgs visā cilpas garumā un pati cilpa pieder veiktspējai kritiskai koda sadaļai (tas ir maz ticams), varat izmantot “optimālāku” versiju, kurā tiek saglabāts koda garums. masīvs:
Var a = ["a", "b", "c"]; var indekss, len; for (indekss = 0, len = a.garums; indekss< len; ++index) {
console.log(a);
}
Teorētiski šim kodam vajadzētu darboties nedaudz ātrāk nekā iepriekšējam.
Ja elementu secība nav svarīga, varat iet vēl tālāk optimizācijas ziņā un atbrīvoties no mainīgā masīva garuma glabāšanai, mainot meklēšanas secību uz pretējo:
Var a = ["a", "b", "c"]; var indekss; for (index = a.length - 1; index >= 0; --index) ( console.log(a); )
Tomēr mūsdienu JavaScript dzinējos šādas optimizācijas spēles parasti neko nenozīmē.
Tomēr dažos gadījumos, piemēram, atkārtošana retos masīvos, for...in var būt noderīga, ja vien veicat piesardzības pasākumus, kā parādīts tālāk esošajā piemērā:
// a - rets masīvs var a = ; a = "a"; a = "b"; a = "c"; for (var atslēga in a) ( if (a.hasOwnProperty(key) && /^0$|^\d*$/.test(key) && atslēga