当需要根据对象某个属性进行排序时,比如根据下面json对象中的status进行排序,值是start的在前,done的在后
let objs = [
{
“id”:1,
“name”: “a”,
“points”: 1000,
“status”: “start”
},
{
“id”:2,
“name”: “b”,
“points”: 500,
“status”: “done”
},
{
“id”:3,
“name”: “c”,
“points”: 1500,
“status”: “start”
},
{
“id”:4,
“name”: “d”,
“points”: 3000,
“status”: “start”
},
{
“id”:5,
“name”: “e”,
“points”: 5000,
“status”: “done”
}
]
function sortObjs(arrs) {
//order 排序的规则
let order = [‘start’, ‘done’];
arrs.sort((a, b) => {
return order.indexOf(a.status) - order.indexOf(b.status);
});
console.log('sortTasks: ', this.arrs);
}