La prima volta che lavoro jQuery.inArray()
e si comporta in modo un po 'strano.
Se l'oggetto si trova nella matrice, restituirà 0, ma 0 è falso in Javascript. Quindi verrà generato: "NON è in array"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Dovrò cambiare la dichiarazione if in:
if(jQuery.inArray("test", myarray)==0)
Ma questo rende il codice illeggibile. Soprattutto per qualcuno che non conosce questa funzione. Si aspetteranno che jQuery.inArray ("test", myarray) dia true quando "test" è nella matrice.
Quindi la mia domanda è: perché è fatto in questo modo? Non mi piace davvero. Ma ci deve essere una buona ragione per farlo in quel modo.
if jQuery.inArray('test', myarray) isn't -1