İlk kez çalıştığımda jQuery.inArray()
biraz garip davranıyor.
Nesne dizideyse, 0 döndürür, ancak Javascript'te 0 yanlıştır. Böylece aşağıdakiler çıkacaktır: "dizide DEĞİL"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
İf ifadesini şu şekilde değiştirmem gerekecek:
if(jQuery.inArray("test", myarray)==0)
Ancak bu, kodu okunamaz hale getirir. Özellikle bu işlevi bilmeyen biri için. Dizide "test" olduğunda jQuery.inArray ("test", myarray) işlevinin doğru olmasını beklerler.
Benim sorum şu, neden bu şekilde yapılıyor? Gerçekten bundan hoşlanmıyorum. Ancak bunu yapmak için iyi bir neden olmalı.
if jQuery.inArray('test', myarray) isn't -1