Cikli ļauj atkārtoti palaist kādu koda bloku (izpildīt darbību). Ciklus izmanto, lai atkārtoti izpildītu kaut kādu kodu, bet katrā reizē izmantotu citu vērtību. Ciklus ļoti bieži izmanto ar masīviem. Pirms ķeramies pie cikliem, vēlētos atgādināt par Autosave opciju Visual Studio Code, ieslēdziet autosave (File–>AutoSave). Jo var gadīties, ka rakstot kodu, pieļausiet kļūdu, būs nebeidzams cikls un pārlūks uzkārsies, un variet pazaudēt izmaiņas. Lai nepazaudētu izmaiņas, iesaku uzreiz atķeksēt autosave,lai automātiski saglabātu jūsu failus.
While cikls
While cikls iet cauri koda blokam, līdz brīdim, kad noteiktais nosacījums kļūst patiess. Iedomāsimies, ka mums ir palikuši 10 eiro makā un mēs varam iet uz veikalu, kam mums ir nauda. Katru reizi pirms iešanas uz veikalu pārbaudīsim vai mums ir pietiekoši naudas (vairāk par 0).
Izveidosim mainīgo
let amount = 10;
Šoreiz lietojam let nevis const, jo mainīsim mainīgā vērtību.
Un izveidosim while ciklu ar nosacījumu kamēr amount ir lielāks par 0.
while (amount > 0){
}
Un, piemēram, izvadīsim, cik naudas mums ir palicis:
while (amount > 0){
console.log(`ejam uz veikalu man ir ${amount} eiro`);
amount–; //katru reizi,kad ir loop,samazinam vērtību par 1 kamēr būs 0, jo vienmēr šeit jāuzliek, kaut kas, kas pārtrauks ciklu, lai tas nebūtu nebeidzams cikls, kas uzkārs pārlūku
}
Pievienojam amount–, lai katru reizi, kad ir cikls, samazinātu vērtību par 1 līdz būs sasniegts 0, jo vienmēr šeit jāuzliek, kaut kas, kas pārtrauks ciklu, lai tas nebūtu nebeidzams cikls, kas uzkārs pārlūku
while (amount > 0){
console.log(`ejam uz veikalu man ir ${amount} eiro`);
amount–;
}
Savukārt, ja mums vairs nebūs naudas un mainīgā vērtība ir 0, tad while cikls neizpildīsies ne vienu reizi.
Do … while cikls
Do while ir vēl viens cikla veids, līdzīgi while, bet atškirība ir tāda, ka do while izpildīsies vismaz vienu reizi, neatkarīgi no tā vai nosacījums ir patiess un tad turpinās, ja nosacījums ir patiess. Tādēļ do … while izmanto, kad nepieciešams koda bloku izpildīt vismaz vienu reizi.
Piemērs:
let money = 0;
do {
console.log(`ejam uz veikalu man ir ${money} eiro`);
money –;
} while(money > 0);
Piemērā redzam, ka mūsu koda bloks tik un tā izpildījās 1 reizi, kaut gan nosacījums money >0 nav patiess.
Ja nosacījums ir patiess (piemēram, mums ir 10 eiro), tad iegūstam līdzīgu rezultātu kā ar while.
For cikls
For cikls iet cauri koda blokam noteiktu reižu skaitu. For cikla sintakse:
for (statement 1; statement 2; statement 3) {
// koda bloks, kas jāizpilda
}
Statement 1 – Bāzes vērtība. Izpildās 1x pirms izpildīt koda bloku.
Statement 2 – nosacījums cik ilgi jāturpinās ciklam
Statement 3 – izpildās katru reizi pēc tā,kā ir izpildījies koda bloks.
Izveidosim mainīgo let i, bez vērtības. i ir tipiska sintakse, ko bieži lieto kā mainīgā nosaukumu pie cikliem.
let i;
for(i=0; i <10; i++){
console.log(`skaitlis ir ${i}`);
}
i = 0 ir 1. steitments, kurā nosakām,ka bāzes vērtība i ir 0. i<10 ir otrais steitments, kurā nosakām, ka ciklam jāturpinās kamēr i ir mazāks par 10. Un ar i++, kas ir trešais steitments, nosakām, to, lai cikls nebūtu nebeidzams un mūsu pārlūks neuzkārtos.
Ja paskatamies konsolē, redzam, ka mūsu koda bloks atkārtojās no 0 (kas mūsu bāzes vērtība) līdz i =9, jo no 0-9 i ir mažaks kā 10, ko noteicām otrajā steitmentā.
Mainīgo mēs varam rakstīt gan pirms for cikla, kā to darījām iepriekšējā piemērā, gan varam mainīgo rakstīt iekš pirmā steitmenta: