9

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

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

知道 8 是否在这个里面的最快方法是什么。例如:

if(array.contain(8)){
 // return true
}

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

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

但这不能回答我的问题。谢谢你。

4

4 回答 4

10

用于indexOf()检查值是否存在

array.indexOf(8)

示例代码,

var arr = [0,8,5];
alert(arr.indexOf(8))​; //returns key

更新

对于 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))
于 2012-11-27T15:49:47.707 回答
4

您可以使用 indexOf() 函数

var fruits = ["a1", "a2", "a3", "a4"];
var a = fruits.indexOf("a3");

输出将是:2

于 2012-11-27T15:51:05.307 回答
0

你可以使用indexOf或者你可以试试这个:

$.inArray(value, array)
于 2012-11-27T15:50:29.967 回答
0

phpjs 有一个不错的 php 的 in_array 函数到 javascript 的端口,你可以使用它

http://phpjs.org/functions/in_array/

见例子:

in_array('van', ['Kevin', 'van', 'Zonneveld']);
于 2012-11-27T15:54:00.413 回答