dizi.(n) JavaScript içerir
Eğer JavaScript bir dizi n içerir olmadığını öğrenmek için en kısa ve etkili yolu nedir?
Bunu yapmak için bildiğim tek yol
function contains(a, obj) {
for (var i = 0; i < a.length; i ) {
if (a[i] === obj) {
return true;
}
}
return false;
}
Daha iyi ve daha kısa bir yolu bunu yapmak için vardır?
Bu çok yakından Yığın Taşması soru ile ilgilidirBest way to find an item in a JavaScript Array?bir dizi indexOf
kullanarak nesneleri bulma giderir.
CEVAP
Modern tarayıcılar tam olarak bunu yapıyor Array#indexOf
,; Bu(gibi) yeni ECMA 5th edition özelliklerine sahip, ama yıllardan beri çeşitli tarayıcılarda olmuştur. Eski tarayıcılar kodu "" bu sayfanın alt kısmında. bölüm uyumluluk listelenen kullanılarak desteklenebilir
jQuery has a utility function için:
$.inArray(value, array)
Bir dizi içinde bir değer dizini döndürür. Eğer dizi değeri içeriyor mu yoksa -1 döndürür.
bir WordPress kullanmak utility functions çok sayıda yararlı var.
Mükemmel JavaScript yarar bir kütüphane underscore.js:
_.contains(list, value)
diğer_.include(list, value)
(alt çizgi eğer bir JavaScript geçerse dahili indexOf kullanır/içeren dizi).
Diğer bazı çerçeveler:
- Dojo Toolkit: 10* documentation*. Dojo yardımcı programı, bir çok fonksiyonu, http://api.dojotoolkit.org bkz.
- Prototip: 11* documentation *
- MooTools: 12* documentation *
- MochiKit: 13* documentation *
- MS Ajax:
array.indexOf(value)
documentation - Ext:
Ext.Array.indexOf(array, value, [from])
documentation
Bazı çerçeveler Diğerleri dizi prototip işlev katarken bir fonksiyonu olarak bu uygulamaya dikkat edin.
JavaScript derleme dil
CoffeeScript, in
operatörü contains
eşdeğer:
a = [1, 2, 3, 4]
alert(2 in a)
Dart:
var mylist = [1, 2, 3];
assert(mylist.contains(1));
assert(mylist.indexOf(1) == 0);
JavaScript içinde bir dizi belirli bir...
-Her JavaScript bir dizi?...
Nasıl JavaScript bir dizi boş?...
JavaScript dizi döngü...
JavaScript nesnesinin uzunluğu (dizi)...