原生javascript判断数组是否包含一个指定的值

方法一

array.indexOf()方法可以返回数组中某个指定的元素位置,该方法会从头到尾地检索数组,检测是否含有对应的元素,如果检索到,则返回元素第一次出现的位置,如果没有检索到,则返回-1。

示例:

var _str = 'two';
var _arr = ['one', 'two', 'three', 'five'];
if(_arr.indexOf(_str) > '-1'){
	alert('数组中存在该值');
}

//_arr.indexOf(_str) 返回结果是1

方法二

array.includes()方法用来判断一个数组是否包含一个指定的值,如果包含返回 true,否则返回 false。

示例:

var _str = 'two';
var _arr = ['one', 'two', 'three', 'five'];
if(_arr.includes(_str)){
	alert('数组中存在该值');
}

//_arr.includes(_str) 返回结果是 true

方法三

array.find()返回数组中满足函数条件的第一个元素的值,如果没有则返回 undefined。

示例:

var _str = 'two';
var _arr = ['one', 'two', 'three', 'five'];
function checkStr(str){
    return str == _str;
}
if(_arr.find(checkStr)){
   alert('数组中存在该值');
}

//_arr.find(checkStr) 返回结果是 two

方法四

array.findIndex()返回数组中满足函数条件的第一个元素的索引位置,如果没有符合条件的元素返回 -1

示例:

var _str = 'two';
var _arr = ['one', 'two', 'three', 'five'];
function checkStr(str){
    return str == _str;
}
if(_arr.findIndex(checkStr)){
   alert('数组中存在该值');
}

//_arr.findIndex(checkStr) 返回结果是 1

附: jquery判断数组中是否存在指定的值的方法$.inArray()