js中如果存在一个数组,如何判断一个元素是否存在于这个数组中呢?
方法一:可以通过for循环的判断:
方法二:indexOf()如果元素存在于数组中,那么返回元素在数组中的索引值,如果不存在,返回-1:
那么我们可以通过放回的值去做相应的判断
方法三:find()找到第一个符合条件的数组元素。它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。
提示:find() 对于空数组,函数是不会执行的
方法四:findIndex()找出数组里面第一个符合的值返回,如果没有就返回-1
array.findIndex()和array.find()十分类似,返回第一个符合条件的数组元素的位置,如果所有元素都不符合条件,则返回-1。
方法五:filter() 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
function checkAdult(age) {
方法六:forEach()//其实forEach(),for in(),for of()都是与for()相同,通过遍历循环,在通过if去判断
方法七:arr.include() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false
方法八:some()方法用于检测数组中的元素是否满足指定条件(函数提供)。 some() 方法会依次执行数组的每个元素: 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。 如果没有满足条件的元素,则返回false。
var ages = [3, 10, 18, 20];
var pp=ages.some(function(age){
return age == 18;
})
console.log(pp)
方法九:jq中使用$.inArray() 函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1),源数组不会受到影响,过滤结果只反映在返回的结果数组中。
var arr=["apple","banana","orange"]//待匹配的数组
console.log($.inArray( "orange", arr ))
以上总结就是这些了,个人推荐比较常用的一般是indexOf(),some(),每个用都有自己的好处,可以根据自己的实际项目进行运用哦!