小程序排序,sort不能解決


js:

function bubbleSort(a, fn) {
for (var i = a.length - 1; i >= 1; i--)
for (var j = 0; j < i; j++)
if (fn(a[j], a[j + 1]))
swapArray(a, j, j + 1);
return a;
}


function selectionSort(a, fn) {
for (var i = a.length - 1; i >= 1; i--) {
var pos = i;
for (var j = 0; j < i; j++)
if (fn(a[j], a[pos]))
pos = j;
if (i != pos)
swapArray(a, i, pos);
}
return a;
}

function swapArray(a, i1, i2) {
[a[i1], a[i2]] = [a[i2], a[i1]];
}

function isFn(obj) {
return typeof obj === 'function';
}
function mysort(arr, fn) {
return selectionSort(arr, isFn(fn) ? fn : (a, b) => a > b);
}

module.exports = mysort;

 

引入:

var mysort = require('sort.js')

 

使用:

list= mysort(list, (x, y) => x.需要比對的屬性> y.需要比對的屬性);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM