我第一次合作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。
所以我的问题是,为什么要这样做?我真的不喜欢这个。但必须有充分的理由这样做。