数据
let sort_data = [{
a: 1,
b: 'a'
},
{
a: 2,
b: 'b'
},
{
a: 2,
b: 'c'
},
];
let sorts = [{
key: 'a',
order: 'desc'
},
{
key: 'b',
order: 'asc'
},
];
排序后的结果
//结果 先a降序,再按b升序
[
{a:2,b:'b'},
{a:2,b:'c'},
{a:1,b:'a'},
]
思路
* 本方法限定sorts第一个key对应的值为number,其他为string
* a排好序后,b在a的基础上进行排序,即对data中a值相同的数据进行再排序;c在b的基础上排序…… 以sorts中的先后顺序为准
* a排好序后,获取a对应值相同的数据,并获取这些数据在data中的下标
* 使用slice截取下标对应的数据,并按b排好序
* splice替换slice排好序的数据