Lần đầu tiên tôi làm việc jQuery.inArray()
và nó hành động hơi lạ.
Nếu đối tượng nằm trong mảng, nó sẽ trả về 0, nhưng 0 là sai trong Javascript. Vì vậy, sau đây sẽ xuất ra: "KHÔNG trong mảng"
var myarray = [];
myarray.push("test");
if(jQuery.inArray("test", myarray)) {
console.log("is in array");
} else {
console.log("is NOT in array");
}
Tôi sẽ phải thay đổi câu lệnh if thành:
if(jQuery.inArray("test", myarray)==0)
Nhưng điều này làm cho mã không thể đọc được. Đặc biệt đối với những người không biết chức năng này. Họ sẽ mong đợi rằng jQuery.inArray ("test", myarray) cho đúng khi "test" nằm trong mảng.
Vì vậy, câu hỏi của tôi là, tại sao nó được thực hiện theo cách này? Tôi thực sự không thích điều này. Nhưng phải có một lý do tốt để làm điều đó như thế.
if jQuery.inArray('test', myarray) isn't -1