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