Erste Mal arbeite ich mit jQuery.inArray()
und es verhält sich irgendwie seltsam.
Wenn das Objekt im Array ist, gibt es 0 zurück, aber 0 ist in Javascript falsch. Also wird das Folgende ausgegeben: "ist NICHT im Array"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("ist im Array");
} else {
console.log("ist NICHT im Array");
}
Ich muss die if-Anweisung ändern zu:
if(jQuery.inArray("test", myarray)==0)
Aber das macht den Code schwer lesbar. Besonders für jemanden, der diese Funktion nicht kennt. Sie würden erwarten, dass jQuery.inArray("test", myarray) true gibt, wenn "test" im Array ist.
Also meine Frage ist, warum wird das auf diese Weise gemacht? Ich mag das wirklich nicht. Aber es muss einen guten Grund dafür geben, es so zu machen.