Zum ersten Mal arbeite ich mit jQuery.inArray()
und es wirkt irgendwie seltsam.
Befindet sich das Objekt im Array, wird 0 zurückgegeben, in Javascript ist 0 jedoch falsch. Es wird also Folgendes ausgegeben: "ist NICHT im Array"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Ich muss die if-Anweisung ändern in:
if(jQuery.inArray("test", myarray)==0)
Dies macht den Code jedoch unlesbar. Besonders für jemanden, der diese Funktion nicht kennt. Sie werden erwarten, dass jQuery.inArray ("test", myarray) true ergibt, wenn sich "test" im Array befindet.
Meine Frage ist also, warum es so gemacht wird. Ich mag das wirklich nicht. Aber es muss einen guten Grund geben, es so zu machen.
if jQuery.inArray('test', myarray) isn't -1