源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[JavaScript] js 重构Array的sort排序方法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2011-7-13 18:03:25 | 显示全部楼层 |阅读模式
sort是数组的一个排序方法。学习js的朋友可以参考下。 这个排序是进行两两比较。
拿这个数组进行降序排列var a = [3, 1, 5, 6, 4, 2];
第一轮比较:用第一个数值和本数组的其他元素进行比对
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];
第二轮比较:用第二个数值和这个数值之后的元素进行对比
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需刷新才能执行]
回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-8-28 04:41:22 | 显示全部楼层
sdsadsadsadf
回复 支持 反对

使用道具 举报

5

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2022-9-12 21:29:15 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-11-8 21:54:26 | 显示全部楼层
激动人心,无法言表!
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2022-12-4 21:12:35 | 显示全部楼层
建军节建军节建军节建军节
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

58

积分

注册会员

Rank: 2

积分
58
发表于 2023-3-14 21:50:27 | 显示全部楼层
女生看了弄丢了卡萨诺的卡洛斯
回复 支持 反对

使用道具 举报

11

主题

2万

回帖

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2023-5-2 15:19:10 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-5-26 18:26:59 | 显示全部楼层
dfdsafdsfdsfdsf
回复 支持 反对

使用道具 举报

8

主题

2万

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2023-9-12 10:24:45 | 显示全部楼层
啊,数码撒飒飒飒飒
回复 支持 反对

使用道具 举报

6

主题

2万

回帖

425

积分

中级会员

Rank: 3Rank: 3

积分
425
发表于 2024-3-18 03:59:19 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-18 20:17 , Processed in 0.071120 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表