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<roles .length; i++) {
  if(arr[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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容