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 相关文章推荐
Web层改进II-用xmlhttp 无声息提交复杂表单
Jan 22 Javascript
js利用Array.splice实现Array的insert/remove
Jan 13 Javascript
15款优秀的jQuery导航菜单插件分享
Jul 19 Javascript
JS增加行复制行删除行的实现代码
Nov 09 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
Feb 26 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
React学习笔记之列表渲染示例详解
Aug 22 Javascript
使用webpack打包koa2 框架app
Feb 02 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
npm 语义版本控制详解
Sep 10 Javascript
vue视频播放暂停代码
Nov 08 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
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
JavaScript小技巧 2.5 则
2010/09/12 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
浅谈vuepress 踩坑记
2018/04/18 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python 12306抢火车票脚本
2018/02/07 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
远东集团网络工程师面试题
2014/10/20 面试题
高中美术教学反思
2014/01/19 职场文书
调解员先进事迹材料
2014/02/07 职场文书
新年主持词
2014/03/27 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
浅谈redis整数集为什么不能降级
2021/07/25 Redis
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS