需求
升序
按 group 整体排
group 内部按 order 排
data = [
{
value: "value1",
order: 1,
group: 0
}
]
思路
分解下问题,本质就是排序
- 排 group:sort((a, b) => a.group - b.group)
- 排内部:sort((a, b) => a.order - b.order)
- 排二者:只要 order 远远小于 group,那其实可以直接以 group 为主
实现
const _sortByGroup = (arr) => {
arr.sort((a, b) => {
// 由于是减,所以内部反序
return (a.group - b.group)*1000 - (b.order - a.order)
})
}