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,效果:
积累小的知识,才能成就大的智慧,希望网上少一些复制多一些原创有用的答案