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 相关文章推荐
Javascript remove 自定义数组删除方法
Oct 20 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
Jun 24 Javascript
一段非常简单的js判断浏览器的内核
Aug 17 Javascript
Javascript Objects详解
Sep 04 Javascript
cookie的secure属性详解
Apr 08 Javascript
JavaScript实现横向滑出的多级菜单效果
Oct 09 Javascript
javascript实现tab切换的四种方法
Nov 05 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
Vue概念及常见命令介绍(1)
Dec 08 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
Mar 10 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
Jul 05 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
通达OA公共代码 php常用检测函数
2011/12/14 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
万能的php分页类
2017/07/06 PHP
PHP实现简单的计算器
2020/08/28 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
11款基于Javascript的文件管理器
2009/10/25 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
python根据京东商品url获取产品价格
2015/08/09 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
2012/06/20 面试题
班主任寄语大全
2014/04/04 职场文书
《泉水》教学反思
2014/04/11 职场文书
小摄影师教学反思
2014/04/27 职场文书
文明村镇申报材料
2014/05/06 职场文书
新学期开学演讲稿
2014/05/24 职场文书
职工小家建设活动方案
2014/08/25 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书