CodeBlanks Logo Icon CodeBlanks

String arama

.indexOf, .includes, .startsWith ile arama yapmayı öğrenirsin.

indexOf ile arama

Bir alt dizenin konumunu bulmak için .indexOf() metodu kullanılır. "merhaba dünya".indexOf("dünya") çağrısı 8 döndürür çünkü "dünya" alt dizesi 8. dizinden başlar. Dizin sayımı sıfırdan başlar.

Eğer aranan alt dize bulunamazsa .indexOf() -1 döndürür. Bu değer, bir alt dizenin var olup olmadığını kontrol etmek için sıkça kullanılır: if (text.indexOf("@") !== -1) ile bir metnin e-posta olabileceğini kabaca yoklayabilirsin.

includes ve startsWith

.includes() bir alt dizenin dizede bulunup bulunmadığını true/false olarak döndürür: "merhaba".includes("haba") sonucu true'dur. .indexOf() !== -1 yazımının daha okunaklı halidir.

.startsWith() dizenin verilen alt dizeyle başlayıp başlamadığını sınar: "Mr. Smith".startsWith("Mr.") sonucu true'dur. Karşıtı .endsWith() dizenin sonuna bakar. Her üç metot da büyük-küçük harfe duyarlıdır.

Uygulama Dizin bul ve yazdır

sentence değişkeni "Node.js harika" değerini taşıyor. pos adında bir değişken tanımla ve sentence.indexOf("harika") sonucunu ata. Sonra pos'u console.log ile yazdır. Çıktı tek satırda 8 olmalı.

Başlangıç kodu

index.js
const sentence = "Node.js harika";
// pos değişkenini indexOf ile tanımla ve yazdır

Örnek çözüm

index.js
const sentence = "Node.js harika";
const pos = sentence.indexOf("harika");
console.log(pos);

Beklenen çıktı

8

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Metodu işlevine eşle

Kavram Anlamı
.indexOf(x) İlk dizini verir
.includes(x) Var mı diye sorar
.startsWith(x) Başında mı diye bakar
.length Karakter sayısı

2 "kitap".includes("tap") sonucu ne olur?

index.js
"kitap".includes("tap")
  • false
  • -1
  • 2
  • true Doğru cevap

Açıklama: "tap", "kitap" içinde geçer; includes true döner.

3 startsWith çağrısını yaz

Soru
const code = "TR-34";
const ok = code____("TR-");
Cevap
const code = "TR-34";
const ok = code.startsWith("TR-");

Açıklama: .startsWith başlangıç kontrolü yapar.

Başlangıç bölümündeki tüm dersler