String arama
- Node.js kursu
- Başlangıç
- Ders 31/116
- 4 dk
.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
const sentence = "Node.js harika";
// pos değişkenini indexOf ile tanımla ve yazdırÖrnek çözüm
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?
"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
const code = "TR-34";
const ok = code____("TR-");
const code = "TR-34";
const ok = code.startsWith("TR-");
Açıklama: .startsWith başlangıç kontrolü yapar.