var fruits=["Apple", "Oranges", "Mutton", "Chicken"]
alert(fruits.indexOf("Mutton", 1)); // returns 2
alert("Blue Whale".indexOf("", 10)); // returns 10
语法
str.indexOf(searchValue[, fromIndex])
可选的 [fromIndex] 允许您指定开始搜索的位置(默认为 0,或搜索整个数组):
那么为什么下面的代码返回2:
alert(fruits.indexOf("Mutton", 1));
我认为它应该从第一个索引“Oranges”开始搜索,并将结果显示为 1。但它显示的是结果 2。
还有
"Blue Whale".indexOf("", 10)
在“Blue Whale”字符串中,索引值最大为9。那么,为什么它也接受10并将结果显示为10。
最佳答案
即使搜索从位置 x 开始,返回的值也将是从数组开头算起的元素的索引
在 "Blue Whale".indexOf("", 10)
的情况下,有 10 个字符,并且您正在搜索在最后一个字符之后找到的空字符串,这就是 10 的原因返回
关于Javascript 查询索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20655043/