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.本期的分享到了这里就完结啦,心愿对你有所帮忙,让咱们一起致力走向巅峰。