JavaScript/jQuery'de bir dizinin belirli bir dizeyi içerip içermediğini nasıl bulabilirim?
Birisi bana bir dizide "specialword"
olup olmadığını nasıl tespit edeceğimi söyleyebilir mi? Örnek olarak:
categories: [
"specialword"
"word1"
"word2"
]
564
3
jQuery
$.inArray
sunar:inArray
in bulunan elemanın indeksini döndürdüğüne dikkat edin, bu nedenle
0elemanın dizideki ilk eleman olduğunu gösterir. 1
elemanın bulunamadığını gösterir.3,5 yıl sonra düzenle
$.inArray
, destekleyen tarayıcılarda (bugünlerde neredeyse hepsi)
Array.prototype.indexOfiçin etkili bir sarmalayıcıdır, desteklemeyenlerde ise bir şim sağlar. Esasen
Array.prototype` dosyasına bir shim eklemeye eşdeğerdir ve bu da işleri yapmanın daha deyimsel/JSish bir yoludur. MDN böyle bir kod sağlamaktadır. Bugünlerde jQuery sarmalayıcısını kullanmak yerine bu seçeneği tercih ederdim.3 yıl sonra tekrar düzenle
Tanrım, 6,5 yıl mı?!
Modern Javascript'te bunun için en iyi seçenek
Array.prototype.includes
dır:Karşılaştırma yok ve kafa karıştırıcı
-1
sonuçları yok. İstediğimizi yapar:true
veyafalse
döndürür. Eski tarayıcılar için çoklu doldurulabilir MDN'deki kodu kullanarak.Al bakalım:
Bu fonksiyon pozitif bir tamsayı (verilen değerin dizi indeksi) veya verilen değer dizide bulunamazsa
-1
döndürür.Canlı demo: http://jsfiddle.net/simevidas/5Gdfc/
Muhtemelen bunu şu şekilde kullanmak istersiniz:
Bir
for
döngüsü kullanabilirsiniz: