可能是重复的问题:
JavaScript中的array.contains(obj)
假设我有一个数组 = [0,8,5]
最快的方法是什么,以便知道是否存在数字8在这个数组中..例如:
if(array.contain(8)){
// return true
}
我找到了这个:Python中检查列表中某个值是否存在的最快方法
以及这个:JavaScript中检测值是否在一组值中的最快方式
但这些都没有回答我的问题。谢谢。
可能是重复的问题:
JavaScript中的array.contains(obj)
假设我有一个数组 = [0,8,5]
最快的方法是什么,以便知道是否存在数字8在这个数组中..例如:
if(array.contain(8)){
// return true
}
我找到了这个:Python中检查列表中某个值是否存在的最快方法
以及这个:JavaScript中检测值是否在一组值中的最快方式
但这些都没有回答我的问题。谢谢。
使用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))
Array.indexOf
在 IE < 9 中不起作用。 - gen_EricArray.prototype.indexOf
。 - gen_Ericvar fruits = ["a1", "a2", "a3", "a4"];
var a = fruits.indexOf("a3");
Array.indexOf
在 IE < 9 中不起作用。 - gen_Eric你可以使用 indexOf
或者尝试这个方法:
$.inArray(value, array)
phpjs有一个很好的将PHP中in_array函数移植到JavaScript中的端口,您可以使用它
http://phpjs.org/functions/in_array/
看例子:
in_array('van', ['Kevin', 'van', 'Zonneveld']);