首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在比较indexOf结果与-1、"!=“或">”时,首选的运算符是什么?

在比较indexOf结果与-1、"!=“或">”时,首选的运算符是什么?
EN

Stack Overflow用户
提问于 2011-01-02 21:19:18
回答 3查看 318关注 0票数 2

在比较indexOf与-1、"!=“或">”的结果时,首选的运算符是什么?有什么不同吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-02 21:21:06

这两个都可以,你只要注意它不是-1就行了。就我个人而言,我更喜欢!=,因为我想说的是,我们正在执行的检查显然不是way...and。例如:

代码语言:javascript
运行
复制
if(arr.indexOf("thing") != -1)

它显式地检查不是单个值,也就是找不到时得到的唯一-1结果。使用>,您可以检查任何其他值……我发现这一点更明确,只需使用对您更明确的值。

我避开>的另一个原因是,我在StackOverflow上看到if(arr.indexOf("thing") > 0)的次数太多了(无论是在问题还是答案中),这几乎就是,从来没有正确地检查过。

票数 5
EN

Stack Overflow用户

发布于 2011-01-02 21:24:49

作为Nick said,这两个都没问题。我更喜欢>= 0,因为这样我就可以编写一个积极的代码:

代码语言:javascript
运行
复制
index = str.indexOf('foo');
if (index >= 0) {
    // Do something with `index`
}
else {
    // 'foo' wasn't found
}
票数 2
EN

Stack Overflow用户

发布于 2011-01-02 21:22:31

我会说!=。实际上你自己也说过:

将indexOf的结果与-1进行比较时的

此外,!=>更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4578525

复制
相关文章

相似问题

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