作家
登录

js 重构Array的sort排序方法

作者: 来源:www.28hudong.com 2013-03-30 00:48:58 阅读 我要评论

这个排序是进行两两比较。 拿这个数组进行降序排列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; }; 查看实际演示 index 看源码吧,源码更清晰! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  推荐阅读

  在浏览器中获取当前执行的脚本文件名的代码

背景 同事提了一个问题,如何在浏览器中动态插入的 JavaScript 文件中,获取当前文件名? 除了服务器输出一个文件名外,在脚本中获取应该只有下面三种做法。 解法A 普遍的解法,只能用于页面静态scripts标签引入或>>>详细阅读


本文标题:js 重构Array的sort排序方法

地址:http://www.17bianji.com/kaifa2/JS/24400.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)