Dizide gezinme
songs içinde rain, tide ve dusk durur ve bu sayfanın tamamında sayı kilitlidir, çünkü forEach yalnızca uğrar, önceki dersteki gibi listeyi uzatmaz ve kısaltmaz.
Uzunluk yerinden oynamaz
Bu kez yürüyüş bir metot çağrısıdır ve indeks de gelebilir, yalnızca değeri getiren for...of gibi değildir. Sona hiçbir başlık yapışmaz ve listeden de hiçbir başlık düşmez.
Teslim ettiğin fonksiyon
Her şarkıda bir kez çalışan bir fonksiyon verirsin ve alttaki kart bu sayfanın sözleşmesidir.
📊 forEach sana ne verir
| Parça | Ne zaman gelir | Bu değildir |
|---|---|---|
| birinci argüman | her uğrayışta | uzunluk |
| ikinci argüman | yalnızca adını yazarsan | zorunlu |
| çağrının sonucu | forEach bitince |
yeni bir dizi |
sonraki length |
songs.length okuyunca |
uğrayışla değişmiş |
Şarkı birinci argümandır, indeks ikinci argümandır ve onu yazmayabilirsin.
Konsoldaki sıra
Her başlığı yazdır. Önce rain gelsin, sonra tide, en son dusk.
let songs = ["rain", "tide", "dusk"];
songs.forEach(function (title) {
console.log(title);
});
Üç satır çıkar ve dizinin önünden arkasına yürür. Üç dize hâlâ aynı gözlerde durur.
let songs = ["rain", "tide", "dusk"];
songs.forEach(function (title, i) {
console.log(i);
console.log(title);
});
Sıfır rainindir, iki duskundur ve tide ikisinin arasında birde oturur.
let songs = ["rain", "tide", "dusk"];
let result = songs.forEach(function (title) {
console.log(title);
});
console.log(result);
console.log(songs.length);
Çağrıyı bir değişkene koy ve yazdır ki undefined gör, bu ne başlıktır ne uzunluk. length yazdırması hâlâ 3'tür.
let songs = ["rain", "tide", "dusk"];
songs.forEach(function (title) {
if (title === "tide") {
return;
}
console.log(title);
});
Başlık tide ise ve hemen return edersen o satır yazılmaz. Yürüyüş durmaz ve dusk yine gelir.
let songs = ["rain", "tide", "dusk"];
let seen = 0;
songs.forEach(function (title) {
seen = seen + 1;
});
console.log(seen);
console.log(songs.length);
Sayacın 3'te durur ve length de 3'tür, ama bu toplamı sen tuttun, çağrı onu geri vermedi.
Başlıklar paragrafta
Başlıkların arasına bir boşluk koyduğun bir dize kur ve onu paragrafa yaz. Uzunluğu satırın dışında bırak.
<!DOCTYPE html>
<html>
<head>
<title>array-iteration — page</title>
</head>
<body>
<p id="line">…</p>
<script>
let songs = ["rain", "tide", "dusk"];
let line = "";
songs.forEach(function (title) {
if (line !== "") {
line = line + " ";
}
line = line + title;
});
let box = document.getElementById("line");
box.textContent = line;
</script>
</body>
</html>
Satır üç başlığı boşlukla gösterir ve tide değerini fog yapıp yenilersen ortadaki sözcük değişir. Uğrayış hâlâ üç başlığı kapsar.
Kendin yürü
- Üç başlığı yazdır.
rainbaşta mı bak - Her indeksi yazdır ve
rain0'da mı bak - Çağrının sonucunu sakla ve uzunluk 3 kalırken
undefinedgör tideüzerinde hemenreturnet veduskhâlâ yazılıyor mu bak- Her uğrayışta
seendeğerine 1 ekle ve 3 çıktı mı bak - Sayfa satırını oku,
tidedeğerinifogyap ve yenile
Kolay yanlış okunur
- Çağrının son başlığı geri vereceğini bekleme. Geri gelen bir şarkı değil
- Çağrının uzunluğu geri vereceğini bekleme
- Fonksiyonun içine
breakyazma, bu sözdizimi hatasıdır tidesonrasıreturnifadesininduskdeğerini de durduracağını sanma- İkinci parametreyi başlık diye okuma
- Bu sayfada değere göre arama
Yanında götür
forEachönden arkaya her öğeye uğrar ve birinci parametre öğenin kendisidir- İkinci parametre indekstir
- Çağrının kendi sonucu
undefineddeğeridir - Fonksiyon içindeki
returnyalnız o uğrayışı atlar - Sonraki sayfa değere göre arar
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek