How to sort array of objects based on a boolean property?

前端 未结 2 1997
闹比i
闹比i 2020-12-02 02:18

I have list of users presented in table. Active users should be sorted above the inactive users.

I am trying to make this sort using l

相关标签:
2条回答
  • 2020-12-02 02:39

    You can use sort like this:

    const userArray=[{disabled:true,email:"hgaither@cmregent.com",firstName:"Harriet",lastName:"Gaither",role:"claimsHandlerSupervisor",userId:"03VFpxtMWgY1jKDHDLcrWSw1qzx1",},{disabled:false,email:"hgaither@cmregent.com",firstName:"Harriet",lastName:"Gaither",role:"claimsHandlerSupervisor",userId:"03VFpxtMWgY1jKDHDLcrWSw1qzx1",},]
    
    userArray.sort((a,b) => a.disabled - b.disabled)
    console.log(userArray)

    You can just subtract the boolean property inside the compareFunction. This works because of coercion

    true - false === 1
    false - true === -1
    true - true === 0
    
    0 讨论(0)
  • 2020-12-02 03:02

    You can use sort

    const userArray = [{disabled:true,email:"hgaither@cmregent.com",firstName:"Harriet",lastName:"Gaither",role:"claimsHandlerSupervisor",userId:"03VFpxtMWgY1jKDHDLcrWSw1qzx1",},{disabled:false,email:"hgaither@cmregent.com",firstName:"Harriet",lastName:"Gaither",role:"claimsHandlerSupervisor",userId:"03VFpxtMWgY1jKDHDLcrWSw1qzx1",},{disabled:true,email:"hgither@cmregent.com",firstName:"Hrriet",lastName:"Gither",role:"claisHandlerSupervisor",userId:"0VFpxtMWgY1jKDHDLcrWSw1qzx1",},]
    
    let op = userArray.sort(({disabled:A}, {disabled:B})=> A-B)
    
    console.log(op)

    0 讨论(0)
提交回复
热议问题