有没有好用的快速排序的库?
除了支持普通数组的排序,还要支持数组对象的排序。
从小到大: [1,3,2,5] ==> [1,2,3,5] 按年龄从小到大: [{name:‘b’,age:12},{name:‘c’,age:21},{name:‘a’,age:2}] ==> [{name:‘a’,age:2},{name:‘b’,age:12},{name:‘c’,age:21},]
underscore 和 async 虽然都有sortby() 函数支持,但还是不太好用。
7 回复
花了一个小时,自己写了一个支持数组对象的快速排序的库。 https://github.com/bsspirit/ape-algorithm
牛x
原生的不行?
[].sort(function (a, b) {
return a.age > b.age;
});
好厉害,比原生的效率如何呢?
原生的实现方式可能因浏览器不同而不同, 不一定用快速排序
@bsspirit 插入排序时间复杂度都平方了,为什么不用堆排序替代之 ? :)
每种算法都有适用的情况,我当时的情况,就是前端表格排序,普通的快速排序就已经适合了。 等我用到堆排序的时候,基于框架实现个算法也并不麻烦。