javascript是否有一个数组的exists()或contains()函数

leo*_*ora 3 javascript arrays jquery

或者你只需​​要做一个循环并检查每个元素?

med*_*iev 6

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

[1].indexOf(1) // 0
Run Code Online (Sandbox Code Playgroud)

如果它不包含它,则返回-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;
  };
}
Run Code Online (Sandbox Code Playgroud)


jay*_*jay 5

如果您正在使用jQuery:jQuery.inArray(value,array)

更新:指向新jQuery API的指向URL