A primeira vez que trabalho jQuery.inArray()
e ela age meio estranha.
Se o objeto estiver na matriz, ele retornará 0, mas 0 é falso em Javascript. Portanto, o seguinte será exibido: "NÃO está na matriz"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Vou ter que alterar a instrução if para:
if(jQuery.inArray("test", myarray)==0)
Mas isso torna o código ilegível. Especialmente para alguém que não conhece essa função. Eles esperam que o jQuery.inArray ("test", myarray) seja verdadeiro quando "test" estiver na matriz.
Então, minha pergunta é: por que isso é feito dessa maneira? Eu realmente não gosto disso. Mas deve haver uma boa razão para fazê-lo assim.
if jQuery.inArray('test', myarray) isn't -1