js 数组多字段排序
代码:
let arr = [{name:'白鸽',year:'2022',month:'2'},{name:'麻雀',year:'2022',month:'3'},{name:'白鸽',year:'2022',month:'8'},{name:'大象',year:'2021',month:'9'},{name:'麻雀',year:'2021',month:'8'}]
arr.sort((l, i) => {
let aTime = new Date(`${l.year}-${l.month}-1`)
let bTime = new Date(`${i.year}-${i.month}-1`)
if(i.name!=l.name){
return i.name.localeCompare(l.name);
}else if(aTime.getTime()!=bTime.getTime()){
return aTime.getTime() -bTime.getTime()
}
})
这里先按照名字排序,再按照年月进行排序,
总结:有多少个字段要排序,就要在sort里面写多少个if else,效果:

积累小的知识,才能成就大的智慧,希望网上少一些复制多一些原创有用的答案

浙公网安备 33010602011771号