fordövrünün üç hissəsini izah etmək və sayğaclı dövr yazmaq- Təkrarların sayı bilinmədikdə
whileseçmək for...ofilə siyahını gəzmək,breakvəcontinueilə dövrü idarə etmək
Təsəvvür et ki, müəllim səndən 1-dən 100-ə qədər bütün ədədləri çap etməyi xahiş edir. 100 dəfə console.log yazmaq olar, amma bu, həm yorucudur, həm də asanlıqla səhvə yol açır. Kompüterlər təkrar işdən yorulmur — sadəcə onlara dövr vasitəsilə «bunu 100 dəfə et» deməlisən.
for dövrü
Təkrarların sayı əvvəlcədən bəllidirsə, for dövrü ən uyğun seçimdir. Onun mötərizəsində nöqtəli vergüllə ayrılmış üç hissə var:
- Başlanğıc:
let i = 1— sayğac yaradılır. Bu, yalnız bir dəfə, ən əvvəldə icra olunur. - Şərt:
i <= 5— hər təkrardan əvvəl yoxlanır. Yalan olan kimi dövr dayanır. - Addım:
i++— hər təkrardan sonra sayğacı dəyişir.
for (let i = 1; i <= 5; i++) {
console.log(`Lap ${i}`);
}
for (let i = 10; i > 0; i -= 3) {
console.log('Countdown:', i);
}▸ Gözlənilən nəticə
Lap 1 Lap 2 Lap 3 Lap 4 Lap 5 Countdown: 10 Countdown: 7 Countdown: 4 Countdown: 1
Dövr gövdəsinin bir dəfə icra olunması. 1-dən 5-ə qədər sayan dövr 5 iterasiya edir.
1 + 2 + 3 + … + 100 cəmini dövrlə hesabla.
Həllini göstərHəllini gizlət
sum dəyişənini 0-la başladırıq.Dövr hər iterasiyada
sum-a növbəti i-ni əlavə edir: sum += i.Dövr bitəndə
sum = 5050 olur (aşağıdakı kodu işə sal).let sum = 0;
for (let i = 1; i <= 100; i++) {
sum += i;
}
console.log('Sum:', sum);▸ Gözlənilən nəticə
Sum: 5050
while və do...while
Bəzən neçə təkrar lazım olduğunu bilmirik. Məsələn, Leylanın 50 manatı var və o, hər ay 20 manat yığır. 200 manatlıq velosiped üçün neçə ay lazımdır? while dövrü şərt doğru olduqca təkrarlanır:
let savings = 50;
let months = 0;
while (savings < 200) {
savings += 20;
months++;
}
console.log(`${months} months, ${savings} AZN`);▸ Gözlənilən nəticə
8 months, 210 AZN
do...while dövrü şərti gövdədən sonra yoxlayır, ona görə gövdə şərt əvvəlcədən yalan olsa belə ən azı bir dəfə icra olunur. Aşağıdakı nümunədə şərt yalandır, amma mesaj yenə bir dəfə çap olunur.
let attempts = 5;
do {
console.log('Attempt number', attempts);
attempts++;
} while (attempts < 3);▸ Gözlənilən nəticə
Attempt number 5
for...of: siyahını gəzmək
Çox vaxt dövr siyahının hər elementi üçün nəsə etmək məqsədilə yazılır. Kvadrat mötərizədəki siyahıya massiv deyilir — onu ayrıca dərsdə öyrənəcəyik. for...of dövrü massivin və ya sətrin elementlərini bir-bir götürür; sayğaca ehtiyac qalmır.
const cities = ['Baku', 'Ganja', 'Shaki'];
for (const city of cities) {
console.log(`I want to visit ${city}`);
}
for (const letter of 'JS') {
console.log(letter);
}▸ Gözlənilən nəticə
I want to visit Baku I want to visit Ganja I want to visit Shaki J S
break və continue
break dövrü dərhal dayandırır, continue isə yalnız cari iterasiyanın qalanını ötürüb növbətisinə keçir. Aşağıdakı kodda cüt ədədlər continue ilə ötürülür, 7-dən böyük ədəd gələndə isə break dövrü bitirir.
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) {
continue;
}
if (i > 7) {
break;
}
console.log(i);
}▸ Gözlənilən nəticə
1 3 5 7
break ilə dövrün klassik nümunəsi: elementləri bir-bir yoxlayır və tapan kimi dayanır.| Dövr | Nə vaxt seçməli |
|---|---|
for | təkrarların sayı bəllidir və ya sayğac lazımdır |
while | nə qədər təkrar olacağı əvvəlcədən bəlli deyil |
do...while | gövdə ən azı bir dəfə icra olunmalıdır |
for...of | massivin və ya sətrin hər elementi ilə iş görmək lazımdır |
for dövrü ilə n ədədinin 1-dən 5-ə qədər vurma cədvəlini çap et. Hər sətir belə görünməlidir: 7 x 3 = 21.
const n = 7;
// print n x 1 = ... up to n x 5 = ...▸ Gözlənilən nəticə
7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35
Əsas fikirlər
fordövrünün üç hissəsi var: başlanğıc, şərt və addım.whileşərt doğru olduqca təkrarlanır;do...whileən azı bir dəfə icra olunur.for...ofmassivin və ya sətrin elementlərini bir-bir götürür.breakdövrü dayandırır,continuenövbəti iterasiyaya keçir.- Şərtə təsir edən dəyişəni dəyişməyi unutmaq sonsuz dövrə səbəb olur.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
for (let i = 0; i < 5; i++) dövrü neçə dəfə təkrarlanır?