Yapay Gezegen

JavaScript String Metodları: includes() & search()

includes() Metodu

includes: string ifade içerisinde, istenilen başka bir string ifadenin olup olmadığını sorgular. İfade varsa: true, yoksa: false değerini döner. Metin içersinde arama yapma, form doğrulama, veri filtreleme ve url analizi vb. verileri analiz etmek için kullanılır.

let metin = "Merhaba, YapayGezegen.com sitesindesiniz."

let aramaMetni = ".com"

metin.includes(aramaMetni) // true -> .com ifadesinin olup olmadığını kontrol ettik

metin.includes("Java") // false -> Java ifadesi metin içersinde olmadığı için false değeri döndü

includes metodu: büyük - küçük harflere duyarlıdır. Metod, 2 parametre almaktadır. 2. parametre: aramaya başlanacak index değerini belirler. Kullanımı zorunlu değildir. Varsayılan olarak 0 değerini kullanır.

metin.includes(".Com") // false -> c ve C iki farklı karakterdir. Birbirine eşit değildir.

metin.includes(aramaMetni,21) // true -> .com ifadesi 21. karakterden sonra mevcuttur

metin.includes(aramaMetni,22) // false -> .com ifadesi 22. karakterden sonra mevcut değildir

includes metodunu kendimiz yazmaya çalışalım. Bunu: bir for döngüsü, slice metodu ve bir if sorgusu ile yapabiliriz.

function olmak(veri, ifade) {
for (let i = 0; i <= veri.length - ifade.length; i++) {
if (veri.slice(i, i + ifade.length) == ifade) {
return true
}
}
return false
}

let metin = "includes metodu"

let deger1 = "abc"

let deger2 = "ude"

olmak(metin,deger1) // false

olmak(metin,deger2) // true

search() Metodu

search: string ifade içerisinde, istenilen başka bir string ifadenin olup olmadığını sorgular. İfade varsa: bulunduğu ilk index değerini döner, yoksa: -1 değerini döner. Büyük - küçük harflere duyarlıdır. String ifade içerinde arama yapmak için kullanılır.

let metin = "Veri Yapıları ve Algoritmalar"

metin.search("Ve") // 0

metin.search("ve") // 14

metin.search("as") // -1

includes metodu için yazdığımız fonksiyonu değiştirerek, döndürdüğü değerleri: index ve -1 yapıp, search metoduna uyarlayalım.

function arama(veri, ifade) {
for (let i = 0; i <= veri.length - ifade.length; i++) {
if (veri.slice(i, i + ifade.length) == ifade) {
return i
}
}
return -1
}

let metin = "Veri Yapıları ve Algoritmalar"

arama(metin,"Ve") // 0

arama(metin,"ve") // 14

arama(metin,"as") // -1
String Metodları: indexOf() & lastIndexOf()