Javascript ile uygulama geliştirirken kullanılan bir dizide elemen bulma işlemi için farklı yollar vardır. Javascript bir çok array metodunu kullanıma sunar. Şimdi farklı işlemler için kullanabileceğimiz metodları görelim.
Dizide Eşleşen İlk Elemanı Bulma
Eğer dizi içerisinde aranan elemandan bir veya daha fazla varsa ve ilk eşleşen eleman isteniyorsa array find metodu kullanılabilir. Bu metod dizi içerisinde bir arama işlemi yapar ve ilk bulunan elemanı geri dönderir.
Mesela bir sayılar içeren bir dizi içerisinde 2 sayısını arayalım.
const sayilar = [1, 5, 9, 3, 2, 4, 9, 2];
const sonuc = sayilar.find(sayi => sayi === 2);
// console.log(sonuc);
// Konsola
// 2
// yazdırır.Örnek çalıştırıldığında sadece bir tane 2 değeri geri döndecektir. Bu da ilk eşleşen değer olacaktır.
Burada sayı yerine bir nesne veya bir metin de kullanabiliriz. Önemli olan karşılaştırma işlemini doğru yapmaktır. find metodu dizi içerisindeki tüm elemanları sıra ile çağırır ve çağrılan bu elemanlar yazdığımız karşılaştırmaya tabi tutulur. Eğer karşılaştırmanın sonucu doğru (true) olarak dönderse o elaman geri dönderilir. Eğer eşleşme yoksa undefined değeri dönder.
Mesela renkler adında bir dizimiz olduğunu varsayarsak, dizi içerisinde beyaz olup olmadığını arayacak olursak
const sonuc = renkler.find(renk => renk === 'beyaz');şeklinde bir kod kullanabiliriz.
Dizide Eşleşen Tüm Elemanları Bulma
Eğer dizi içerisinde bulunan elemanlar içersinde eşleşen tüm elemanları bulmak istiyorsak bu durumda filter metodunu kullanabiliriz. filter metodu bir dizi geri dönderir. Eğer eşleşen bir eleman yoksa boş bir dizi dönder.
Şimdi sayilar dizisi içerisinde tekrar arama yapalım ve tüm 2 değerlerini bulmaya çalışalım.
const sayilar = [1, 5, 9, 3, 2, 4, 9, 2];
const sonuc = sayilar.filter(sayi => sayi === 2);
// console.log(sonuc);
// Konsola
// [ 2, 2 ]
// yazdırır.JavaScript filter İle Array Filtreleme İşlemleri yazımızda filter metodunu daha ayrıntılı olarak inceliyoruz.
Dizideki Elemanın İndeksini Bulma
Eğer dizi içerisindeki bir elemanın indeksini (index) bulmak istersek, findIndex metodunu kullanabiliriz. Eğer dizi içerisinde eşleşen bir eleman varsa o elemanın index değerini geri dönder, aksi halde -1 değerini geri dönecektir.
Şimdi tekrar sayılar dizisi içerisinde arama yapalım.
const sayilar = [1, 5, 9, 3, 2, 4, 9, 2];
const sonuc = sayilar.findIndex(sayi => sayi === 2);
// console.log(sonuc);
// Konsola
// 4
// yazdırır.Dizi içerisindeki ilk 2 sayısının indeksi 4 olduğunu bilgiyoruz. Sonuç da bunu doğrulayacaktır.
Sonuç
Javascript diziler içerisinde arama yapmak için farklı yöntemler sunar. Tek elaman aramak için find, elemanın indeksini bulmak için findIndex ve eşleşen tüm elemanları bulmak için filter metodunu kullanabiliriz.
Javascript ile ilgili sormak istediğiniz soruları yorumlardan bize sorabilirsiniz.
