js 重构Array的sort排序方法

 更新时间:2011年07月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需再刷新一下页面才能执行]

相关文章

  • 如何利用JavaScript读取excel文件并绘制echarts图形

    如何利用JavaScript读取excel文件并绘制echarts图形

    这篇文章主要介绍了如何利用JavaScript读取excel文件并绘制echarts图形,文章通过excel财务报表,并且需要根据这张excel表绘制成各种echarts图形,需要了解更多详情的小伙伴可以参考一下文章内内容
    2022-05-05
  • JS加密插件CryptoJS实现的DES加密示例

    JS加密插件CryptoJS实现的DES加密示例

    这篇文章主要介绍了JS加密插件CryptoJS实现的DES加密,结合实例形式分析了javascript使用CryptoJS插件进行des加密的各种常见模式使用技巧,需要的朋友可以参考下
    2018-08-08
  • 微信小程序实战之自定义模态弹窗(8)

    微信小程序实战之自定义模态弹窗(8)

    这篇文章主要为大家详细介绍了微信小程序实战之自定义模态弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 基于原生JavaScript实现SPA单页应用

    基于原生JavaScript实现SPA单页应用

    单页Web应用 (single page web application,SPA) ,就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。本文将利用原生JS实现SPA单页应用,需要的可以参考一下
    2023-03-03
  • 深入学习 JavaScript中的函数调用

    深入学习 JavaScript中的函数调用

    可能很多人在学习 JavaScript 过程中碰到过函数参数传递方式的迷惑,本着深入的精神,我给大家分享了一篇教程关于javascript中的函数调用知识,感兴趣的朋友一起学习吧
    2017-03-03
  • TypeScript 安装使用及基本数据类型

    TypeScript 安装使用及基本数据类型

    这篇文章主要介绍了TypeScript 安装使用及基本数据类型,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享

    JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享

    这篇文章介绍了JavaScript操作table,可以新增行和列并且隔一行换背景色代码,有需要的朋友可以参考一下
    2013-07-07
  • 一文带你了解小程序中的权限设计

    一文带你了解小程序中的权限设计

    我们在日常生活中无论是坐公交还是点餐,都会接触各种各样的小程序,下面这篇文章主要给大家介绍了关于小程序中权限设计的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • JavaScript笔记之import和require的区别与对比

    JavaScript笔记之import和require的区别与对比

    在JavaScript中,require和import都用于模块导入,这篇文章主要介绍了JavaScript笔记之import和require区别与对比的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-01-01
  • 易被忽视的js事件问题总结

    易被忽视的js事件问题总结

    这篇文章主要为大家详细介绍了易被忽视的js事件问题,包括跨平台事件、冒泡中target和currentTarget的区别,感兴趣的朋友可以参考一下
    2016-05-05

最新评论