如果数组包含单个元素,则jQuery inArray返回-1。
var a = Array(1);
console.log($.inArray(1,a));
这个返回-1。但是,如果数组包含2个或更多元素,那么它将完美地工作。
var a = Array(1,2,3);
console.log($.inArray(1,a));
返回完美位置。
发布于 2014-05-05 04:11:43
与您想象的相反,Array(1)
不使用元素1
创建数组,而是创建大小为1
的数组。这是一个特定的行为,当您只传递一个参数,它是一个整数。
来自MDN:
如果传递给数组构造函数的唯一参数是介于0到2^32-1之间的整数(包括在内),则返回一个长度设置为该数字的新JavaScript数组。
您可能永远不应该使用这个Array
构造函数,它的奇怪行为会导致许多错误,而且大多数都是无用的。用这个:
var a = [1];
https://stackoverflow.com/questions/23472130
复制