javascript 遍历arr属性值为空的疑惑?

需求是这样的,当我执行保存按钮的时候,会批量去保存每一行数据,然后每一行数据都是一个对象。类似下面的一条语句。


    var arr=[{'id':1,'name':2,code:'3',status:'',other:'','mark':'1'},            
             {'id':2,'name':3,code:'',status:'1',other:'2','mark':''}];

现在要解决的问题是:当我保存的时候,我要去遍历,如果第一条数据中存在空值(比如第一条数据里面status为空),那么就跳出循环,告知status为空。后面的就都不循环了。没有空值就走完第一条循环,继续走第二条!

阅读 3k
5 个回答

for 循环中嵌套for in
我只提供思路
具体代码,你需要自己实现.

搜索->JavaScript 标签

if(arr.every(a => Boolean(a.status))) {//所有数据的status都不为空
    //保存数据
}
let status = 0
arr.forEach(item => {
  if (status === 1) return
  for (i in item) {
    if (item[i] === '') {
      console.log(i + "为空")
      status = 1
      return
    }
  }
})
var arr=[{'id':1,'name':2,code:'3',status:'',other:'','mark':'1'},            
             {'id':2,'name':3,code:'',status:'1',other:'2','mark':''}];
var firstInvalidDataIndex;
var firstInvalidDataIndex=arr.findIndex(function(item){
    //写入你的检查逻辑
    if(检查不通过){
        return true;
    }else{
        return false;
    }
} );
if(firstInvalidDataIndex!=-1){
    //提示用户数据有错
}else{
    //执行批量保存逻辑
}
推荐问题