判断一个数组对象中的所有数据或某个值都满足条件

725 阅读1分钟

数据

let arr = [
    { status: 1 },
    { status: 1 },
    { status: 0 },
    { status: 1 },
];

业务场景:数组中所有数据的status都为1的时候需要执行某操作

所有数据都满足条件

  • for of
let next = true
for (let i of arr) {
    if (i.status == 1) {
        continue
    } else {
        next = false
        break
    }
}
console.log(next);//false
if(next){
    //满足条件执行操作
}
  • every
arr.every(item=>item.status==1)
if(arr.every(item=>item.status==1)){
    //满足条件执行操作
}

某个值满足条件就执行

  • some
arr.some(item=>item.status==0)//true 只要有一个对象中的status是0就满足条件

参考:JS - every()和some() 判断一个数组对象中的所有数据或某个值都满足条件