Перший раз працюю, jQuery.inArray()і це виглядає якось дивно.
Якщо об’єкт знаходиться в масиві, він поверне 0, але 0 в помилці 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 ("тест", myarray) дає істину, коли "test" знаходиться в масиві.
Отже, моє запитання: чому це робиться саме так? Мені це справді не подобається. Але повинен бути вагомий привід зробити це так.
if jQuery.inArray('test', myarray) isn't -1