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 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 Javascript
jquery实现瀑布流效果分享
Mar 26 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
Jan 05 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
Aug 02 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
JS通用方法触发点击事件代码实例
Feb 17 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 Javascript
JavaScript实现网页下拉菜单效果
Nov 20 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
smarty的section嵌套循环用法示例
2016/05/28 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
js实现简单页面全屏
2019/09/17 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python用字典构建多级菜单功能
2019/07/11 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
python 导入数据及作图的实现
2019/12/03 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
10个示例带你掌握python中的元组
2020/11/23 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
爱情保证书大全
2014/04/29 职场文书
软件项目开发计划书
2014/05/01 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
小学感恩节活动总结
2015/03/24 职场文书
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
python中 Flask Web 表单的使用方法
2022/05/20 Python