La primera vez que trabajo jQuery.inArray()
y actúa un poco extraño.
Si el objeto está en la matriz, devolverá 0, pero 0 es falso en Javascript. Entonces se mostrará lo siguiente: "NO está en la matriz"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Tendré que cambiar la declaración if a:
if(jQuery.inArray("test", myarray)==0)
Pero esto hace que el código sea ilegible. Especialmente para alguien que no conoce esta función. Esperarán que jQuery.inArray ("prueba", myarray) sea verdadero cuando "prueba" esté en la matriz.
Entonces mi pregunta es, ¿por qué se hace de esta manera? Realmente no me gusta esto. Pero debe haber una buena razón para hacerlo así.
if jQuery.inArray('test', myarray) isn't -1