乐趣区

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

退出移动版