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 判断 object 的特定类转载
Feb 01 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
javascript获取URL参数与参数值的示例代码
Dec 20 Javascript
jquery选择器之基本过滤选择器详解
Jan 27 Javascript
js时间日期格式化封装函数
Dec 02 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 Javascript
快速掌握Node.js环境的安装与运行方法
Feb 16 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
Vue 一键清空表单的实现方法
Feb 07 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&amp;mysql(三)
2006/10/09 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
Seajs源码详解分析
2019/04/02 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
通过vue.extend实现消息提示弹框的方法记录
2021/01/07 Vue.js
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python中__name__的使用实例
2015/04/14 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
Python创建字典的八种方式
2019/02/27 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
浅析Python 责任链设计模式
2020/09/11 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
JSF界面控制层技术
2013/06/17 面试题
社会实践心得体会
2014/01/03 职场文书
培训讲师邀请函
2014/01/10 职场文书
《老王》教学反思
2014/02/23 职场文书
2014年营销工作总结
2014/11/22 职场文书
就业导师推荐信范文
2015/03/27 职场文书
工作会议通知
2015/04/15 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL
git中cherry-pick命令的使用教程
2022/06/25 Servers