1. 开发环境 react
2. 电脑系统 windows11 专业版
3. 在开发的过程中, 咱们有时候须要判断一个数组中所有对应的某个属性是否全等, 上面我来分享一下。
4. 废话不多说, 间接上代码:
const [TimePeriodData_am,setTimePeriodData_am]=useState([
{
id:"0",
con:"0:00",
state:false
},
{
id:"1",
con:"1:00",
state:false
},
{
id:"2",
con:"2:00",
state:false
},
{
id:"3",
con:"3:00",
state:false
},
{
id:"4",
con:"4:00",
state:false
},
{
id:"5",
con:"5:00",
state:false
},
{
id:"6",
con:"6:00",
state:false
},
{
id:"7",
con:"7:00",
state:false
},
{
id:"8",
con:"8:00",
state:false
},
{
id:"9",
con:"9:00",
state:false
},
{
id:"10",
con:"10:00",
state:false
},
{
id:"11",
con:"11:00",
state:false
}
])
function TimePeriodState_am(index){// //console.log("触发了");
setTimePeriodData_am(TimePeriodData_am=>{TimePeriodData_am[index].state=!TimePeriodData_am[index].state;
return [...TimePeriodData_am];
})
setTimeout(()=>{
// 判断是否抉择, 如果 setTimePeriodData_am 数组中对象属性 state 全副为 false 示意没有抉择
if(TimePeriodData_am.every(target=>target.state === false)){console.log('没有抉择');
}else {console.log('有抉择');
}
},2000)
}
// 成果如下
5. 扩大
办法一:
every() 只有有一个不符合条件就为 false ( 一假即假)
const arrObj = [{ status:0, id:1},
{status:1, id:2},
{status:0, id:3},
]
console.log(arrObj.every( (val) => val.status===0) );// false
// 办法二:
some() 只有有一个符合条件就位 true ( 一真即真)
const arrObj = [{ status:0, id:1},
{status:1, id:2},
{status:0, id:3},
]
console.log(arrObj.some( (val) => val.id===2) );// true
// 办法三:
let arrObj = [{checked:false,name:'ccc'},
{checked:false,name:'ccc'},
{checked:false,name:'ccc'},
]
if(arrObj.every(target=>target.name === arrObj[0].name)){console.log('全等')
}else {console.log('有不等的')
}
6. 本期的分享到了这里就完结啦, 心愿对你有所帮忙, 让咱们一起致力走向巅峰。