我第一次使用 jQuery.inArray()
,它的行为有点奇怪。
如果对象在数组中,它将返回 0,但 0 在 Javascript 中为 false。所以下面会输出:"is NOT in array"
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。
所以我的问题是,为什么要这样做?我真的不喜欢这个。但这样做一定有充分的理由。
最佳答案
inArray
返回数组中元素的索引,而不是指示该项目是否存在于数组中的 bool 值。如果未找到该元素,则返回 -1
。
所以,要检查一个项目是否在数组中,请使用:
if(jQuery.inArray("test", myarray) !== -1)
关于javascript - jQuery.inArray(),如何正确使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867599/