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/