JavaScript: for döngüsü ile diziyi gezmek
Öğeleri oku, toplamı ve en büyüğü bul, çiftleri seç ve diziyi tersten gez.
Tüm dersler · JavaScript dersleri: sıfırdan öğren
for ile diziyi gez
for üç parçadan oluşur: başlangıç, koşul ve adım. Dizi için sayaç 0'dan başlar ve length'ten küçük kaldıkça artar. meyveler[i] o anki öğedir.
let meyveler = ["alma", "armud", "banan", "gilas"];
for (let i = 0; i < meyveler.length; i++) {
console.log(meyveler[i]);
}
// alma, armud, banan, gilasToplam, en büyük ve çiftler
Aynı döngüye koşul eklenir. Toplam için her öğeyi eklersin. En büyük için ilk öğeyi alıp kalanlarla karşılaştırırsın. Çift sayı % 2 === 0 olanıdır.
let reqemler = [12, 45, 7, 89, 34];
let cem = 0;
let enBoyuk = reqemler[0];
for (let i = 0; i < reqemler.length; i++) {
cem = cem + reqemler[i];
if (reqemler[i] > enBoyuk) enBoyuk = reqemler[i];
if (reqemler[i] % 2 === 0) console.log(reqemler[i]);
}
console.log(cem, enBoyuk);Tersten ve for...of
Tersten gitmek için son indeksten başla: length - 1, ve i-- ile azalt. İndeks gerekmiyorsa for...of daha kısadır. i <= length yazma: son adım undefined olur. i++ unutulursa döngü bitmez.
for (let i = meyveler.length - 1; i >= 0; i--) {
console.log(meyveler[i]);
}
for (let meyve of meyveler) {
console.log(meyve);
}Sorular
for neden 0'dan başlar? İlk öğenin indeksi 0'dır.
Koşul neden i < length? Son indeks length - 1'dir. Eşit yazılırsa olmayan yer undefined olur.
Çift sayı nasıl bilinir? 2'ye bölününce kalan 0 ise: n % 2 === 0.
for...of ne zaman olur? İndeks gerekmeyince. İndeks veya öğe değiştirmek gerekirse düz for yaz.