6种JavaScript判断数组是否包含某个值的方法:我们在项目开发过程中,经常会要检查一个数组(无序)是否包含一个特定的值?这是一个在JavaScript中经常用到的并且非常有用的操作。
下面给出几种实现方式。
方式一:利用循环
这种方式是比较老的实现方案,但不可否认的是在浏览器中效率较高。
function contains(arr, val) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === val) {
return true;
}
}
return false;
}
contains([1,2,3],3);//true
或者使用while:
function contains(arr, val) {
var i = arr.length;
while (i--) {
if (arr[i] === val){
return true;
}
}
return false;
}
方式二:使用数组的some,filter等方法
使用some方法更简洁,一旦找到元素,迭代就会中止,从而避免了不必要的迭代周期。
function contains(arr, val) {
return arr.some(item => item === val);
}
使用filter(注意:array.filter(e=>e==x).length > 0等效于ar