gpt4 book ai didi

Jquery Index 搜索 0 时返回 -1

转载 作者:行者123 更新时间:2023-12-01 08:10:06 24 4
gpt4 key购买 nike

为什么 jQuery 索引对于数组中的 0 会返回 -1?

var myArray = [0,4,8];
document.write('<br/>8 is at index : ' + $(myArray).index(8));
document.write('<br/>4 is at index : ' + $(myArray).index(4));
document.write('<br/>0 is at index : ' + $(myArray).index(0));

http://jsfiddle.net/JohnNeed/WGPMa/1/

最佳答案

Why does jQuery index return -1 for a 0 in an array?

因为你使用方法不正确。您用 jQuery 对象构造函数包装它。 jQuery 希望其索引槽包含对象(对 DOM 元素的引用),这是真实。因此,当您传入 0 时,它是 falsy,并且无法满足第一个条件(仅需要 truthy 参数;jQuery 被设计为处理无参数通过)。

// No argument, return index in parent
if ( !elem ) {
return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
}

Source

如果从 0(假)更改为 5(真),it works as expected .

如果您想查找数组中某些内容的索引,请在普通数组上使用 indexOf() 。如果您必须使用 jQuery,请使用$.inArray() (这确实具有在 Array.prototype.indexOf() 不存在的情况下工作的优点)。

关于Jquery Index 搜索 0 时返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14189340/

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