gpt4 book ai didi

javascript - 如果数组包含单个元素,jQuery inArray() 返回 -1

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:28 26 4
gpt4 key购买 nike

如果数组包含单个元素,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 :

If the only argument passed to the Array constructor is an integer between 0 and 2^32-1 (inclusive), this returns a new JavaScript array with length set to that number.

您可能几乎不应该使用这个 Array 构造函数,它的奇怪行为会导致许多错误,而且几乎没有用。使用这个:

var a = [1];

关于javascript - 如果数组包含单个元素,jQuery inArray() 返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23472130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com