Pierwszy raz pracuję jQuery.inArray()i to działa trochę dziwnie.
Jeśli obiekt znajduje się w tablicy, zwróci 0, ale 0 w kodzie JavaScript jest fałszywe. Więc wypisane zostaną: „NIE jest w tablicy”
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Będę musiał zmienić instrukcję if na:
if(jQuery.inArray("test", myarray)==0)
Ale to sprawia, że kod jest nieczytelny. Zwłaszcza dla kogoś, kto nie zna tej funkcji. Spodziewają się, że jQuery.inArray („test”, moja tablica) daje wartość true, gdy „test” znajduje się w tablicy.
Więc moje pytanie brzmi: dlaczego tak się dzieje? Naprawdę nie lubię tego. Ale musi być dobry powód, aby zrobić to w ten sposób.
if jQuery.inArray('test', myarray) isn't -1