You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中-1的含义及代码里indexOf(c) > -1的作用解析

问题解答

先看你给出的代码:

function first(first, second) {
    return Array.prototype.every.call(first, function(c) {
        return second.indexOf(c) > -1;
    }, this);
}

关于.indexOf(c) > -1的含义

在JavaScript中,数组或字符串的indexOf()方法用于查找目标元素/字符首次出现的位置:

  • 找到目标时,返回它的索引值(索引从0开始计数,比如数组第一个元素索引是0,第二个是1)
  • 找不到目标时,返回-1

所以.indexOf(c) > -1的本质是判断c这个元素是否存在于second当中。只要c存在,indexOf返回的索引就是0或正数,必然大于-1;如果不存在,返回-1,条件不成立。

JavaScript中-1在这里的含义

这里的-1是JavaScript查找类方法(比如indexOf、lastIndexOf)的标准约定返回值,用来表示“未找到匹配项”。因为数组/字符串的有效索引都是从0开始的非负整数,用-1这个负数可以明确区分“存在”和“不存在”两种状态,不会和有效索引混淆。

补充:整个函数的作用

这段代码的功能是:检查第一个参数first(通过Array.prototype.every.call可处理类数组对象,比如字符串、DOM集合)中的每一个元素,是否全部存在于第二个参数second里。如果所有元素都符合条件,返回true;只要有一个元素不在second里,就返回false。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:05:40