Javascript Dizi Elemanının İndeksini Bulma

Javascript Dizi Elemanının İndeksini Bulma

Diziler uygulama geliştirirken çok kullanılır. Bu nedenle de sürekli olarak ihtiyaç duyulan değişkenlerdir. Bu yazımızda dizi içerisindeki bir elemanın indeksinin nasıl bulunacağını göreceğiz ve bunu örnekler ile pekiştireceğiz.

Bildiğiniz gibi Javascripte diziler (array) birden fazla elemanı içerisinde tutan nesnelerdir. Her elemanın tutulduğu yerin bir indeks değeri vardır ve bu değer 0 dan başlar.

Javascript ile dizi içerisindeki elemanların indekslerini bulmak için birden fazla metod vardır. Şimdi sırası ile bunları inceleylim.

indexOf İle Dizi Elemanının İndeks Değerini Bulma

Javascript array indexOf metodu, dizi içerisinde aranan bir değerin ilk bulunduğu dizi elemanının indeks değerini verir. Kullanım şekli

const sonuc = diziAdi.indexOf('aranacakDeger');

gibidir. Parametre olarak dizi içerisinde aranacak değer bulunmalıdır. Sonuç olarak eğer dizi içerisinde aranan değer yoksa -1 aksi halde bulunan ilk elemanın indeks değerini dönderir.

indexOf için bir örnek verlim.

const isimler = ['Ahmet', 'Ali', 'Dursun', 'Ali', 'Hakan'];

const sonuc = isimler.indexOf('Ali');

console.log('Bulunan index : ' , sonuc);
// Konsola
// Bulunan index: 1
// yazdırılır.

Bildiğiniz gibi Javascriptte array değişkenlerin indeksleri 0 dan başlar. Bu nedenle ikinci elemanın indeks değeri 1 olarak bulundu ve sonraki elemanlar dikkate alınmadı.

lastIndexOf İle Array İçerisindeki Elemanının İndeks Değerini Bulma

lastIndexOf metodu daha önce gördüğümüz indexOf metodu ile aynı şekilde çalışır. Tek farkı dizi içerisinde bulunan aynı elemanlardan en sonda olanının indeks değerini geri dönmesidir. Eğer bir sonuç bulunmazsa geriye -1 değeri dönderilir.

Az önceki örneğimizi lastIndexOf ile yapacak olursak.

const isimler = ['Ahmet', 'Ali', 'Dursun', 'Ali', 'Hakan'];

const sonuc = isimler.indexOf('Ali');

console.log('Bulunan index : ' , sonuc);
// Konsola
// Bulunan index: 3
// yazdırılır.

Sonuç olarak aradığımız Ali değerinin ensonda olanının indeks değeri olan 3 sonucunu alırız.

findIndex Metodu İle Array İçerisindeki Elemanın İndex Değerini Bulma

Eğer direkt bir eleman aramıyor ve bir işlem sonucunda elede ediecek elemanın index değerini arıyorsak, bu durumda findIndex metodunu kullanabiliriz. Konuyu biraz açacak olursak mesela siparişlerin tutulduğu bir dizi içerisinde, sipariş değeri 100tl üzeri olan ilk elemanın indeks değerini istediğimizde kullanabileceğimiz bir metoddur.

Bu metod bir callback fonksiyonu çağırır ve bu fonksiyonun sonucuna göre işlem yapar. Verdiğimiz callback fonksiyonunun ilk olarak doğru bulduğu dizi elemanının değerini geri dönderir.

Şimdi bir örnek verelim.

const sayilar = [10, 25, 33, 5, 99, 7];

const sayiyiBul = (sayi) => sayi > 27;

const sonuc = sayilar.findIndex(sayiyiBul);

console.log("Bulunan indeks : ", sonuc);
// Konsola
// Bulunan indeks : 2
// yazdırır.

Arama işlemi için sayiyiBul fonksiyonunu yazdık. Bu fonksiyon ES6 sintaksına göre yazılmıştır. Normal bir fonksiyon olarak yazsaydık aşağıdaki gibi olacaktır.

const sayilar = [10, 25, 33, 5, 99, 7];

function sayiyiBul(sayi) {
    if(sayi > 27) return true;
    else return false;
}

const sonuc = sayilar.findIndex(sayiyiBul);

console.log("Bulunan indeks : ", sonuc);
// Konsola
// Bulunan indeks : 2
// yazdırır.

findLastIndex Metodu İle Array İçerisindeki Elemanın İndex Değerini Bulma

Javascript array findLastIndex daha önce gördüğümüz findIndex metodu ile aynı çalışır, farkı bulunan son elemanın indeks değerini geri dönmesidir. Yukukarıdaki örneği findLastIndex metodu ile yeniden yapalım.

const sayilar = [10, 25, 33, 5, 99, 7];

const sayiyiBul = (sayi) => sayi > 27;

const sonIndex = sayilar.findLastIndex(sayiyiBul);

console.log("Bulunan indeks : ", sonIndex);
// Konsola
// Bulunan indeks : 4
// yazdırır.

**Not : ** Eğer Node JS ile çalışacaksanız findLastIndex metodunu Node JS 18. versiyonundan sonra desteklemeye başladı. Önceki versiyonlarında bu metod çalışmayacaktır.

Sonuç

Bir dizi içerisidneki elemanın indeks değerini bulmak için Javascript bizlere farklı metodlar sunar. Bunlardan ihtiyacımız olanı kullanabiliriz.

Dizi içerisinde filtreleme işlemleri için JavaScript filter İle Array Filtreleme İşlemleri yazımızı okuyabilirsiniz.

Javascript ile ilgili sorularınızı yorumlardan bize iletebilirsiniz.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir