- find(找到就返回,不会再往后走。返回满足条件的第一项,若没有满足项返回undefined)
let arr = [6,5,4,3,2,1]
let find1 = arr.find(v => {
return v > 4
})
console.log(find1) //6
- findIndex(返回满足条件的第一项的索引,若没有满足项返回-1)
let arr = [6,5,4,3,2,1]
let find1 = arr.findIndex(v => {
return v > 4
})
console.log(find1)
let arr = ['a','b','c']
let find1 = arr.indexOf('b')
console.log(find1)
可以接收第二个参数,表示从第几项开始查找
let arr1 = [1,2,3]
let isPass = arr1.indexOf(2,2) //参数一:查找2;参数二:从第二项开始查找
console.log(isPass) //-1
let arr = ['a','b','c']
let find1 = arr.includes('b')
console.log(find1)
let arr = ['a','b','c']
console.log(arr.filter(v=> {
return v == 'a'
})) //['a','a']
- some(返回布尔值,有就返回true,不再继续查找)
let arr = ['a','a','b','c']
console.log(arr.some(v=> {
return v == 'a'
})) //true
- every:判断数组每一项是否满足条件,全部满足才返回true,有一项不满足则返回false
let arr1 = [1,2,3]
let isPass = arr1.every(v=> {
return v > 2
})
console.log(isPass) //false
判读两个数组是否含有相同项
降低复杂度的方法:先合并再去重,判断合并之后长度和去重长度是否相等
// 合并数组
let normalArr = [...item, ...arr2]
// 合并数组并去重
let setArr = [...new Set(normalArr)]
return normalArr.length !== setArr.length