jQuery.inArray(),如何正确使用它?

我第一次使用jQuery.inArray()时,它的行为有点奇怪

如果对象在数组中,它将返回0,但在Javascript中0为false。因此将输出以下内容:“不在数组中”

var myarray=[];
myarray.push(“测试”);
if(jQuery.inArray(“test”,myarray)){
log(“在数组中”);
}否则{
log(“不在数组中”);
}

我必须将if语句更改为:

if(jQuery.inArray(“test”,myarray)==0)

但这使得代码无法读取。特别是对于不知道这个函数的人。当数组中有“test”时,他们希望jQuery.inArray(“test”,myarray)给出true

所以我的问题是,为什么要这样做?我真的不喜欢这个。但这样做肯定有很好的理由

inArray返回数组中元素的索引,而不是指示数组中是否存在该项的布尔值。如果找不到元素,将返回-1

因此,要检查数组中是否有项,请使用:

if(jQuery.inArray(“test”,myarray)!=-1)

发表评论