js数组Array sort方法使用深入分析


Posted in Javascript onFebruary 21, 2013

javascript 中 Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列,实例代码如下:

var arrA = [6,2,4,3,5,1]; 
arrA.sort(); 
document.writeln(arrA); 
//结果是:1,2,3,4,5,6

sort() 方法可以接受一个 方法为参数 ,这个方法有两个参数。分别代表每次排序比较时的两个数组项。
sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。
实例如下:

var arrA = [6,2,4,3,5,1]; 
/**//*arrA.sort(); 
document.writeln(arrA); 
*/ 
function desc(x,y) 
...{ 
if (x > y) 
return -1; 
if (x < y) 
return 1; 
} 
function asc(x,y) 
...{ 
if (x > y) 
return 1; 
if (x < y) 
return -1; 
} 
arrA.sort(desc); // sort by desc 
document.writeln(arrA); 
document.writeln("<br>"); 
arrA.sort(asc); //sort by asc 
document.writeln(arrA); 
//输出结果: 
6,5,4,3,2,1 
1,2,3,4,5,6

另外,可以直接把一个无名函数直接放到sort()方法的调用中。如下的例子是将奇数排在前面,偶数排在后面,例子如下:

var arrA = [6,2,4,3,5,1]; 
arrA.sort( function(x, y) ...{ 
if (x % 2 ==0) 
return 11; 
if (x % 2 !=0) 
return -1; 
} 
); 
document.writeln(arrA); 
//输出:1,5,3,4,6,2

这篇关于js数组Array sort的方法就介绍到这了,需要的朋友可以参考一下。

Javascript 相关文章推荐
js调试工具Console命令详解
Oct 21 Javascript
JavaScript中的Math.E属性使用详解
Jun 12 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
Bootstrap Paginator分页插件使用方法详解
May 30 Javascript
深入浅析Vue组件开发
Nov 25 Javascript
js中toString()和String()区别详解
Mar 23 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
Jul 21 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
js自定义方法通过隐藏iframe实现文件下载
Feb 21 #Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 #Javascript
javascript通过class来获取元素实现代码
Feb 20 #Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 #Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 #Javascript
IE关闭时判断及AJAX注销案例学习
Feb 18 #Javascript
JS刷新框架外页面七种实现代码
Feb 18 #Javascript
You might like
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php实现天干地支计算器示例
2014/03/14 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
php格式化金额函数分享
2015/02/02 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
Javascript this指针
2009/07/30 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
python 文件查找及内容匹配方法
2018/10/25 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
一份软件工程师的面试试题
2016/02/01 面试题
娱乐节目策划方案
2014/06/10 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
创新社会管理心得体会
2014/09/12 职场文书
毕业设计论文评语
2014/12/31 职场文书
党校毕业个人总结
2015/02/28 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python