Javascript,最快的方式来知道某个值是否在数组中?

Ydh*_*hem 9 javascript arrays performance

可能重复:
JavaScript中的array.contains(obj)

假设我有一个数组= [0,8,5]

知道8是否在这个内部的最快方法是什么...例如:

if(array.contain(8)){
 // return true
}
Run Code Online (Sandbox Code Playgroud)

我发现了这个:检查列表中是否存在值的最快方法(Python)

而这:检测Javascript中的值是否在一组值中的最快方法

但这不能回答我的问题.谢谢.

Mut*_*ran 9

使用indexOf()检查值是否存在或不

array.indexOf(8)
Run Code Online (Sandbox Code Playgroud)

示例代码,

var arr = [0,8,5];
alert(arr.indexOf(8))?; //returns key
Run Code Online (Sandbox Code Playgroud)

更新

对于IE支持

//IE support
if (!Array.prototype.indexOf) { 
    Array.prototype.indexOf = function(obj, start) {
         for (var i = (start || 0), j = this.length; i < j; i++) {
             if (this[i] === obj) { return i; }
         }
         return -1;
    }
}

var arr = [0,8,5];
alert(arr.indexOf(8))
Run Code Online (Sandbox Code Playgroud)