indexOf ile arama
indexOf ile bir elemanın dizedeki konumunu bulmayı öğrenirsin.
indexOf ile eleman konumu
indexOf metodu, bir elemanın dizideki ilk konumunu (indeksini) döner. Bulamazsa -1 döner.
Örnek: ["elma", "armut", "muz"].indexOf("armut") sonucu 1'dir. Arama baştan sona doğrudur; ilk eşleşmenin indeksi alınır.
İkinci parametre olarak başlangıç indeksi verilebilir: arr.indexOf(x, 2) aramaya 2. indeksten başlar.
Bu özellik, aramayı belirli bir bölgede yapmak veya bazı indeksleri atlamak için işine yarar.
Bulunamayınca -1
indexOf elemanı bulamazsa -1 döner. Bu nedenle bir elemanın varlığını kontrol etmek için if (arr.indexOf(x) !== -1) yazılır.
Örnek: ["a", "b"].indexOf("z") -1 döner çünkü "z" dizide yoktur.
Bu desen yaygındır ama yeni kodlarda daha okunaklı bir alternatif var: includes metodu, doğrudan true/false döner.
Uygulama cities dizisinde bir şehrin konumunu bul
cities adında en az dört şehir dizesi içeren bir dizi oluştur. cities.indexOf ile bir şehrin konumunu bul ve sonucu console.log ile yazdır.
Örnek çözümü göster
Diziyi yaz, sonra cities.indexOf ile bir şehir ara ve sonucu console.log ile yazdır.
Örnek çözüm:
const cities = ["İstanbul", "Ankara", "İzmir", "Bursa"];
const pos = cities.indexOf("İzmir");
console.log(pos);
Kendini test et
-
Bu kod ne yazdırır?
const fruits = ["elma", "armut", "muz"]; console.log(fruits.indexOf("muz"));- 1
- 3
- 2
- -1
Cevabı göster
2 — Doğru. "muz" 2. indekste; indexOf 2 döner.
-
mavi renginin konumunu bul
const colors = ["kırmızı", "mavi", "yeşil"]; const pos = colors.indexOf(____); console.log(pos);Cevabı göster
const colors = ["kırmızı", "mavi", "yeşil"]; const pos = colors.indexOf("mavi"); console.log(pos); -
indexOf davranışlarını eşleştir
- indexOf bulamazsa
- -1 döner
- indexOf ilk eşleşmeyi
- ilk indeksini döner
- indexOf ikinci parametre
- başlangıç indeksi