js 中判断数组中是否包含某个元素

1.arr.indexOf(搜索元素,开始位置):
元素在数组中的位置,如果没搜索到则返回 -1

let roles = ['1001', '1002', '1003'];
roles.indexOf('1002'); 
// 返回1 :意味着'1002'元素位于数组中的第 2个位置

2.arr.includes(搜索元素):
如果是返回 true,否则false

let roles = ['1001', '1002', '1003'];
roles.includes('1001'); 
// true 

3.filter() 方法:返回符合条件的元素组成的数组

var roles =  ['1001', '1002', '1003'];
function check(role) {
    return role == '1003';
}
function myFunction() {
    roles.filter(check);
  console.log(roles.filter(check))
}
myFunction()
//[1003]

4.array.find():返回找出第一个符合条件的数组元素

let roles = ['1001', '1002', '1003'];
roles.find(function(value, index, arr) {
return value > '1003' ;
}) 

// 1003

5.array.findIndex():返回第一个符合条件的数组元素的位置,
如果所有元素都不符合条件,则返回-1

var roles =  ['1001', '1002', '1003'];
function check(role) {
    return role == '1003';
}
function myFunction() {
   console.log(roles.findIndex(check)) ;
}
myFunction()
//2

6.传统for()循环

var roles =  ['1001', '1002', '1003'];
for(let i=0; i

7.for...of

var roles =  ['1001', '1002', '1003'];
for(v of roles ) {
  if(v === 查找值) {
    //则包含该元素
  }
}

8.forEach

var roles =  ['1001', '1002', '1003'];
roles.forEach(v=>{
  if(v === 查找值) {
    //则包含该元素
  }
})

9.some():用于检测数组中的元素是否满足指定条件(函数提供)
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。

var roles =  ['1001', '1002', '1003'];
function check(role) {
    return role== '1003';
}
function myFunction() {
    console.log(roles.some(check));
}
myFunction() 
//true

10.every:用于检测数组中的元素是否满足指定条件(函数提供)
如果都满足条件,则表达式返回true ,
如果有一个不满足,则返回false。

var roles =  ['1001', '1002', '1003'];
function check(role) {
    return role== '1003';
}
function myFunction() {
    console.log(roles.every(check));
}
myFunction() 
//false

你可能感兴趣的:(js 中判断数组中是否包含某个元素)