如果数组包含单个元素,则jQuery inArray返回-1。如果数组包含单个元素,则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));
返回完美位置。
如果数组包含单个元素,则jQuery inArray返回-1。如果数组包含单个元素,则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));
返回完美位置。
与您似乎认为的相反,Array(1)
不会创建包含元素1
的数组,但其大小为1
。这是您仅传递一个参数时获得的特定行为,它是一个整数。
从the MDN:
如果传递给Array构造的唯一参数是0和2^32-1(含)之间的整数 ,这将返回一个新的JavaScript阵列 与长度设定为数。
您应该几乎从不使用这个Array
构造函数,它的奇怪行为会导致很多错误,而且这些错误几乎是无用的。使用此:
var a = [1];
'从不(或几乎从不)使用数组构造函数。 “那是什么原因..? –
是的。谢谢。 – Tejas
@RajaprabhuAravindasamy 1)它的行为太令人吃惊了。 2)它几乎是无用的 –
问得好感谢我们都了解 –
你upvoted这个@sudharsan ..? :) –
这是保密我没有告诉 –