确定一个数组是否包含一个值
这个问题在这里已经有了答案:
var contains = function(needle) {
// Per spec, the way to identify NaN is that it is not equal to itself
var findNaN = needle !== needle;
var indexOf;
if(!findNaN && typeof Array.prototype.indexOf === 'function') {
indexOf = Array.prototype.indexOf;
} else {
indexOf = function(needle) {
var i = -1, index = -1;
for(i = 0; i < this.length; i++) {
var item = this[i];
if((findNaN && item !== item) || item === needle) {
index = i;
break;
}
}
return index;
};
}
return indexOf.call(this, needle) > -1;
};
你可以像这样使用它:
var myArray = [0,1,2],
needle = 1,
index = contains.call(myArray, needle); // true
CodePen验证/使用
jQuery有一个实用的功能:
$.inArray(value, array)
返回array
的value
索引。 如果array
不包含value
则返回-1
。
另请参见如何检查数组是否包含JavaScript中的对象?
这通常是indexOf()方法的用途。 你会说:
return arrValues.indexOf('Sam') > -1
链接地址: http://www.djcxy.com/p/9569.html