JavaScript Ismétléses Vezérlés (Ciklusok)¶
Bevezetés¶
A ciklusok lehetővé teszik, hogy egy műveletsorozatot többször végrehajtsunk, ami rendkívül hasznos, ha ismétlődő feladatokat kell elvégezni. JavaScriptben többféle ciklus létezik, amelyek közül a leggyakrabban használtak:
forcikluswhileciklusdo...whileciklusfor...ofésfor...inciklusok (iteráció tömbökön és objektumokon)forEachciklus (tömbökön)
for ciklus¶
A for ciklus az egyik leggyakrabban használt ciklusfajta, amely egy számlálón alapul.
Ez a ciklus ötször fut le, és kiírja a számláló (i) értékét 0-tól 4-ig.
while ciklus¶
A while ciklus addig fut, amíg a megadott feltétel igaz.
Ez a ciklus szintén ötször fut le, hasonlóan a for ciklushoz.
do...while ciklus¶
A do...while ciklus hasonló a while ciklushoz, de legalább egyszer mindig végrehajtja a kódot, mielőtt ellenőrizné a feltételt.
Ez a ciklus szintén ötször fut le, de legalább egyszer mindig lefut, még akkor is, ha a feltétel kezdettől fogva hamis.
for...of ciklus¶
A for...of ciklus tömbökön és más iterálható objektumokon történő iterációra szolgál.
Ez a ciklus végigmegy a szamok elemein, és kiírja azokat.
for...in ciklus¶
A for...in ciklus objektumok kulcsain való iterációra szolgál.
Példa
Ez a ciklus végigmegy az auto objektum kulcsain, és kiírja azokat a hozzájuk tartozó értékekkel együtt.
forEach metódus tömbön¶
A JavaScript forEach metódusa egy egyszerű és hatékony módja annak, hogy végigmenjünk egy tömb elemein, és egy megadott függvényt alkalmazzunk minden egyes elemre.
Szintaxis
Paraméterek:
- elem: A tömb aktuális eleme.
- index (opcionális): Az aktuális elem indexe a tömbben.
- tömb (opcionális): Maga a tömb, amelyen a
forEachmetódust hívják.
Példa
let szamok = [1, 2, 3, 4, 5];
szamok.forEach(function(elem, index) {
console.log(`A ${index}. elem értéke: ${elem}`);
});
Ez a forEach ciklus végigmegy a szamok tömbön, és kiírja minden elem indexét és értékét:
Arrow function¶
A forEach ciklust gyakran nyílfüggvénnyel (arrow function) is használják, ami rövidebb szintaxist tesz lehetővé:
Fontos megjegyzések
- A
forEachmetódus nem állítható meg vagy szakítható meg. Ha meg kell szakítani a ciklust, akkorforvagyfor...ofciklus használata javasolt. - A
forEachnem ad vissza új tömböt. Ha új tömbre van szükséged, használj másik tömb metódust, példáulmap,filtervagyreduce.
További Példa - Tömb elemeinek összegzése
let osszeg = 0;
szamok.forEach((elem) => {
osszeg += elem;
});
console.log(`A szamok összege: ${osszeg}`);
Ez a ciklus végigmegy a tömbön, és összeadja az elemek értékeit.
for...of vagy forEach?
A forEach és a for...of ciklusok közötti választás attól függ, milyen feladatot szeretnél megoldani, és milyen szempontok fontosak számodra. Mindkét módszer tömbökön (és más iterálható objektumokon) történő iterációra alkalmas, de vannak különbségek közöttük.
forEach: Használd, ha tömbökön szeretnél végigmenni, és minden elemre alkalmazni szeretnél egy függvényt, különösebb megszakítási vagy folytatási logika nélkül. Hasznos, ha deklaratív, függvényalapú megközelítést preferálsz.for...of: Használd, ha rugalmasabb cikluskezelésre van szükséged, például megszakításra vagy aszinkron műveletekre. Ez a ciklus általában akkor jön jól, ha nem csak tömbökkel, hanem más iterálható objektumokkal is dolgozol.