javascript - javascript 是否具有用于数组的 exists() 或 contains() 函数

标签 javascript jquery arrays

还是只需要循环检查每个元素?

最佳答案

Mozilla JS 实现和其他现代 JS 引擎采用了 Array.prototype.indexOf 方法。

[1].indexOf(1) // 0

如果不包含它,则返回-1。

IE当然有,可能其他浏览器没有,官方代码:

if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length >>> 0;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

关于javascript - javascript 是否具有用于数组的 exists() 或 contains() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2069183/

相关文章:

javascript - 为什么有时调用变量后定义变量不会给出 undefined ?

jquery - 如何使用 jquery 在另一个选项卡处于事件状态时删除默认的事件选项卡颜色

没有回调的 JavaScript 原生 Promise()

jquery帮助具有相同前缀id的div

javascript - 按小数位格式化数字

javascript - countTo.js 完成后重新启动并短暂暂停

javascript - jquery如何按文本输入对数组进行排序

javascript - 有人可以解释一下这个函数中的queue()和dequeue()吗?

arrays - MaxNotPresent- 翻转一些卡片,以最大化任何卡片正面不存在的最小整数

zip 数组的 mySQL 查询优化