Pertama kali saya bekerja dengan jQuery.inArray()
dan itu bertindak agak aneh.
Jika objek dalam array, itu akan mengembalikan 0, tetapi 0 salah dalam Javascript. Jadi yang berikut ini akan menampilkan: "BUKAN dalam susunan"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Saya harus mengubah pernyataan if ke:
if(jQuery.inArray("test", myarray)==0)
Tapi ini membuat kode tidak terbaca. Terutama bagi seseorang yang tidak tahu fungsi ini. Mereka akan berharap bahwa jQuery.inArray ("test", myarray) memberikan true ketika "test" ada dalam array.
Jadi pertanyaan saya adalah, mengapa dilakukan seperti ini? Saya benar-benar tidak suka ini. Tapi pasti ada alasan bagus untuk melakukannya seperti itu.
if jQuery.inArray('test', myarray) isn't -1