js循环判断是否符合条件(兼容ie浏览器)

2024年07月20日 建站教程

功能介绍:多维数组循环判断,1、先符合第一个条件,找到有符合的条件马上跳出;2、如果找不到符合第一个条件的进行第二个条件循环,找到第一个符合元素后改变它的值马上跳出。需要兼容ie10浏览器,所有不能用es6语法!

默认数据:

var data = [{
  id: 1,
  name: '小米',
  age: 20,
  child: [{
    checkInTime:'10:33:22',
    address:'人民路',
    isDefault: false,
    isState:true
  },{
    checkInTime:'17:33:22',
    address:'西红柿路',
    isDefault: true,
    isState: true
  },{
    checkInTime:'17:33:22',
    address:'南京路',
    isDefault: false,
    isState: true
  }]
},{
  id: 1,
  name: '小明',
  age: 24,
  child: [{
    checkInTime:'10:33:22',
    address:'人民路',
    isDefault: false,
    isState: true,
  },{
    checkInTime:'12:33:22',
    address:'解放路',
    isDefault: false,
    isState: false
  },{
    checkInTime:'17:33:22',
    address:'西红柿路',
    isDefault: false,
    isState: true
  }]
}]

循环判断:

for (var i = 0; i < data.length; i++) {
  var isDefaultFlag = 0
  for (var j = 0; j < data[i].child.length; j++) {
    if (data[i].child[j].isDefault == true && data[i].child[j].isState == true) {
      isDefaultFlag = 1
      break;
    }
  }
  for (var j = 0; j < data[i].child.length; j++) {
    if (isDefaultFlag == 0) {
      if (data[i].child[j].isDefault == false && data[i].child[j].isState == true) {
         data[i].child[j].isDefault = true
         break;
      }
    }
  }
}
console.log('输出修改后结果:', data)

本文链接:http://so.lmcjl.com/news/8836/

展开阅读全文
相关内容