关于javascript:javascript怎么判断一个数组中所有对象的某个属性全部相等

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理