В первый раз я работаю с jQuery.inArray()
, и он действует странно.
Если объект находится в массиве, он вернет 0, но 0 - false в Javascript. Итак, выводится следующее: "НЕ в массиве"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Мне нужно будет изменить оператор if:
if(jQuery.inArray("test", myarray)==0)
Но это делает код нечитаемым. Особенно для тех, кто не знает эту функцию. Он будет ожидать, что jQuery.inArray( "test", myarray) дает true, когда "test" находится в массиве.
Итак, мой вопрос: почему это делается так? Мне это очень не нравится. Но для этого должны быть веские причины.