国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js 重構Array的sort排序方法

2019-11-20 23:45:33
字體:
來源:轉載
供稿:網(wǎng)友
這個排序是進行兩兩比較。
拿這個數(shù)組進行降序排列var a = [3, 1, 5, 6, 4, 2];
第一輪比較:用第一個數(shù)值和本數(shù)組的其他元素進行比對
3比1
3比5 //5大,所以所以進行交換 得a = [5, 1, 3, 6, 4, 2];
5比6 //交換 得a = [6, 1, 3, 5, 4, 2];
6比4
6比2
第一輪最終結果 a = [6, 1, 3, 5, 4, 2];
第二輪比較:用第二個數(shù)值和這個數(shù)值之后的元素進行對比
1比3 //交換 得a = [6, 3, 1, 5, 4, 2];
3比5 //交換 得a = [6, 5, 1, 3, 4, 2];
5比4
5比2
第二輪最終結果 a = [6, 5, 1, 3, 4, 2];
就這樣依次進行交換
第三輪最終結果 a = [6, 5, 4, 1, 3, 2];
第四輪最終結果 a = [6, 5, 4, 3, 1, 2];
第五輪最終結果 a = [6, 5, 4, 3, 2, 1];
下面是重構的方法:
復制代碼 代碼如下:

Array.prototype.fst = function(fn){
var fn = fn || function(a, b){ return a > b;};
for(var i=0; i<this.length; i++){
for(var j=i; j<this.length; j++){
if(fn(this[i], this[j]) > 0){
var t = this[i];
this[i] = this[j];
this[j] = t;
}
}
}
return this;
};

查看實際演示

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐平市| 临潭县| 苍溪县| 东光县| 清流县| 彩票| 广饶县| 保德县| 容城县| 江西省| 长兴县| 砀山县| 两当县| 平顶山市| 沐川县| 益阳市| 南康市| 东莞市| 长治县| 平山县| 睢宁县| 会宁县| 安吉县| 平江县| 沁源县| 乌兰察布市| 汉阴县| 鄂尔多斯市| 花莲市| 公主岭市| 罗甸县| 天水市| 陆河县| 礼泉县| 岚皋县| 涟源市| 隆安县| 文山县| 安平县| 昌图县| 平谷区|