首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript IndexOf查询

Javascript IndexOf查询
EN

Stack Overflow用户
提问于 2013-12-18 10:04:57
回答 5查看 135关注 0票数 0
代码语言:javascript
运行
复制
var fruits=["Apple", "Oranges", "Mutton", "Chicken"]

alert(fruits.indexOf("Mutton", 1));      // returns 2

alert("Blue Whale".indexOf("", 10));     // returns 10

语法

代码语言:javascript
运行
复制
str.indexOf(searchValue[, fromIndex])

可选的fromIndex允许您指定开始搜索的位置(默认值为0,或者搜索整个数组):

那么为什么下面的代码返回2:

代码语言:javascript
运行
复制
 alert(fruits.indexOf("Mutton", 1));

我认为应该从第一个索引‘Orange’开始搜索,并将结果显示为1,但它显示的是结果2。

也是

代码语言:javascript
运行
复制
"Blue Whale".indexOf("", 10)

在这里的“蓝鲸”字符串中,索引值最多为9。那么,为什么它也接受10,并将结果显示为10。

EN

回答 5

Stack Overflow用户

发布于 2013-12-18 10:07:49

即使搜索开始于x位置,返回的值也将是数组开始时元素的索引。

"Blue Whale".indexOf("", 10)中,有10个字符,您正在搜索一个空字符串,这是在最后一个字符之后找到的,这就是返回10的原因。

票数 2
EN

Stack Overflow用户

发布于 2013-12-18 10:08:56

语法

str.indexOf(searchValue,fromIndex)

所以它从选定的索引开始查找,但是在集合中返回索引,所以索引"Mutton“是2,它的返回

用case空字符串返回字符串长度。

票数 0
EN

Stack Overflow用户

发布于 2013-12-18 10:10:10

考虑以下示例:

代码语言:javascript
运行
复制
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

我想忽略第一次发生的事:

代码语言:javascript
运行
复制
a.indexOf(1, a.indexOf(1) + 1); // 3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20655043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档