我第一次使用jQuery.inArray()
,它的行为有点奇怪。
如果对象在数组中,它将返回0,但0在Javascript中是false。因此,下面将输出:“不在数组中”
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)当"test"在数组中时返回true。
我的问题是,为什么要这样做?我真的不喜欢这个。但这样做一定有一个很好的理由。