首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >indexOf() > -1 vs indexOf() != -1

indexOf() > -1 vs indexOf() != -1
EN

Stack Overflow用户
提问于 2017-12-21 03:05:58
回答 3查看 2K关注 0票数 1

我正在阅读reading,在第10章中有这样的练习:

代码语言:javascript
复制
 var myImages = [
        "usa.gif",
        "canada.gif",
        "jamaica.gif",
        "mexico.gif"
    ];

    function changeImg(e) {
        var el = e.target;
        var newImgNumber = Math.round(Math.random() * 3);

        while (el.src.indexOf(myImages[newImgNumber]) != -1) {
            newImgNumber = Math.round(Math.random() * 3);
        }

        el.src = myImages[newImgNumber];
    }

    function updateStatus(e) {
        var el = e.target;
        var status = document.getElementById("status");

        status.innerHTML = "The image changed to " + el.src;

        if (el.src.indexOf("mexico") > -1) {
            el.removeEventListener("click", changeImg);
            el.removeEventListener("click", updateStatus);
        }
    }

    var imgObj = document.getElementById("img0");

    imgObj.addEventListener("click", changeImg);
    imgObj.addEventListener("click", updateStatus);

他们为什么在这里使用!= -1

代码语言:javascript
复制
while (el.src.indexOf(myImages[newImgNumber]) != -1) {

> -1在这里:

代码语言:javascript
复制
if (el.src.indexOf("mexico") > -1) {

-1的使用让我感到困惑。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-21 03:14:38

如果搜索不在字符串中,则indexOf返回-1。这是因为indexOf将返回搜索词在字符串中的位置。例如

> -1!== -1的另一种说法,尽管我个人更喜欢后者。

代码语言:javascript
复制
var test = 'testing';
test.indexOf('test'); // returns 0 which is falsy
test.indexOf('st'); // Returns 2
test.indexOf('foo'); // returns -1

数组也是如此。

希望这有助于回答为什么-1!

票数 1
EN

Stack Overflow用户

发布于 2017-12-21 03:08:22

使用-1是因为如果数组中不存在搜索值,则indexOf操作将返回-1

至于为什么他们在一个地方使用!= -1,而在另一个地方使用> -1,可能是因为一个编辑在工作中摔倒了。

票数 2
EN

Stack Overflow用户

发布于 2017-12-21 03:08:45

看一看this

“如果要搜索的值从未出现,则此方法返回-1。”

您引用的行是这样的条件:如果元素实际上在数组中,则满足条件。

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

https://stackoverflow.com/questions/47912806

复制
相关文章

相似问题

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