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));
我认为应该从第一个索引‘Orange’开始搜索,并将结果显示为1,但它显示的是结果2。
也是
"Blue Whale".indexOf("", 10)
在这里的“蓝鲸”字符串中,索引值最多为9。那么,为什么它也接受10,并将结果显示为10。
发布于 2013-12-18 10:07:49
即使搜索开始于x位置,返回的值也将是数组开始时元素的索引。
在"Blue Whale".indexOf("", 10)
中,有10个字符,您正在搜索一个空字符串,这是在最后一个字符之后找到的,这就是返回10的原因。
发布于 2013-12-18 10:08:56
语法
str.indexOf(searchValue,fromIndex)
所以它从选定的索引开始查找,但是在集合中返回索引,所以索引"Mutton“是2,它的返回
用case空字符串返回字符串长度。
发布于 2013-12-18 10:10:10
考虑以下示例:
var a = [1, 2, 3, 1, 2, 3];
a.indexOf(1); // 0
a.indexOf(1, 1 /* = skip index 0 */); // 3
a.indexOf(1, 2 /* = skip indexes 0 and 1 */); // 3
我想忽略第一次发生的事:
a.indexOf(1, a.indexOf(1) + 1); // 3
https://stackoverflow.com/questions/20655043
复制相似问题