条件有一个为真就停止判断

检查数组对象中某个数据是否符合条件,符合就停止判断

需求:

判断数组对象中

  1. def是否为空,如果是的话就提示不可为空

  2. def不为空且为1,那么判断value,min,max是否有一个为空,是的话就提示不可为空

  3. def不为空且为1,那么判断value是否为空,是的话就提示

以上三个条件有一个为真就停止判断

解决:起初想的是foreach函数遍历,发现有一个真或有一个假并不会终止判断会继续执行完毕

遇到想要的结果就终止判断的有some和every函数 some函数是只要有一个符合条件就停止,every是只要有一个不符合条件就停止 。本代码选择的是some

 let arrString = [
  {id:1,value:1,def:'1',min:'3',max:'2'},
  {id:2,value:2,def:'1',min:'0',max:'1'},
  {id:3,value:2,def:'1',min:'4',max:'1'},
  {id:4,value:5,def:''},
  {id:5,value:1,def:'1',min:'1',max:'2'},
  {id:6,value:1,def:'0',},
]
let flag = arrString.some(item=>{  //some有一个符合就停止 ,every 有一个不符合条件就停止
    if(item.def==''){
      return true
    }
    if(item.def=='1'){
      return  item.value === '' || item.min == '' || item.max==''
    }
    if(item.def=='0'){   
      return  item.value === '' 
    }
})
console.log(flag)
posted @ 2023-02-08 19:00  张尊娟  阅读(37)  评论(0编辑  收藏  举报