Array.some() fonksiyonu, dizi içindeki her elemanın belli bir niteliğe sahip olup olmadığını parametre olarak aktarılan fonksiyon aracılığıyla kontrol ederek herhangi bir elemanın kontrolünün olumlu olması durumunda true değer döndürür.
Array.some() fonksiyonunu, desteklemeyen tarayıcılarda da kullanmak için Array.some fonksiyon betiğini kullanabilirsiniz.
Sözdizimi
boolSonuc = Array.some(kontFonk [, thisElem])
kontFonk | Dizi elemanlarının tek tek parametre olarak aktarılarak, kontrol edecek fonksiyonu belirler |
thisElem | Kontrol fonksiyonu içinde this olarak kullanılacak nesneyi veya elementi belirler. |
Dönüş Değeri
boolSonuc | Dizi içindeki tek bir eleman dahi kontrol fonksiyonundan geçerse true, diğer türlü false döner. |
Kontrol Fonksiyonunun Yapısı ve Aktarılan Argümanlar
Array.some() fonksiyonuna parametre olarak aktarılarak dizi elemanlarını kontrol edecek fonksiyonun genel yapısı aşağıdaki gibi olmalıdır. Fonksiyon içeriği, isteğe göre hazırlanması ile beraber mutlaka return ile true veya false değer döndürmelidir. Ayrıca, Array.some() fonksiyonuna thisElem ile aktarılan nesne veya element, bu fonksiyon içinde this ile kullanılabilir.
fonk_Some(eleman, sira, arrayRef) {
var sonuc;
// sonuc'u hesapla ...
return sonuc;
}
eleman | Dizinin güncel sırasındaki eleman. |
sira | Dizinin güncel sırası. |
arrayRef | Array nesnesinin referansı. |
Aşağıdaki örnek, Array.some() fonksiyonu kullanılarak şehir isimlerini içeren bir dizi içinde, 5 harften uzun şehir ismi olup-olmadığının kontrol edilmesini göstermektedir.
<script type="text/javascript">
function some_Fonk(eleman, sira, arrayRef) {
if(eleman.length > 5)
return true;
else
return false;
}
function someTest() {
var dizi5Harf = ["Antep", "Adana", "Aksaray", "İzmir", "Hatay"]
if( dizi5Harf.some(some_Fonk) )
alert("Dizi, 5 harfden uzun şehir ismi içeriyor.");
else
alert("Dizideki tüm şehir isimleri 5 karakter veya daha küçük.");
}
</script>
<input type="button" value="Dizide 5 harfden uzun şehir ismi var mı?" onclick="someTest()" />
Test Edin