当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js模拟实现Array的sort方法

Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
用Javascript读取中文COOKIE的解决办法
功能很全的精品JS计算器
永不消失的title提示代码
一直复略了的一个问题,关于表单重复提交
初探jquery——表单应用范例
懒就要懒到底——鼠标自动点击(含时间判断)
关于表单的两点交互体验改进技巧
javascript知识点收藏
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
如何使页面打开时input就被选中?
点选TOP后并不是直接跳到页顶的,而是滚动上去的
js玩一玩WSH吧
【最新漏洞】IE中使用Rds.DataSpace下载并运行病毒文件
select选择事件问题
SUN的《AJAX与J2EE》全文译了
你真的了解JavaScript吗?
极酷的javascirpt,让你随意编辑任何网页
用javascript编写的第一人称射击游戏
轻轻松松学习JavaScript

Javascript 中的 js模拟实现Array的sort方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 278 ::
收藏到网摘: n/a

JavaScript的Array对象有一个sort方法,用于实现对数组元素的排序,该方法默认按照数组项ASCII 字符顺序升序排列。
如[6,7,9,1,-1].sort();执行后数组变为[-1,1,6,7,9]。
对于需要降序排列或非字符串排序,该方法就不能很好的执行了。
当然,sort有一个可选参数,它能帮我们解决这个问题,通过为sort传入一个函数,sort根据函数返回值进行排序。
数组为该函数默认传入数组中的两个元素,如传入a,b,如果函数返回值大于0,则排序方式为b,a,如果返回值小于0,则排序结果为a,b。
具体含义不好解释,当初我也对这个sort其到底是怎么排序的不理解。
如果知道了其实现过程,就对他的排序原理明了了。
sort的实现其实很像是一个简单的冒泡排序。
偶今日对其进行了模拟,看懂这个函数你一定就明白sort的原理了。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]