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 相关文章推荐
菜单效果
Oct 14 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
JavaScript实现MIPS乘法模拟的方法
Apr 17 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
May 09 Javascript
深入浅出讲解ES6的解构
Aug 03 Javascript
javascript循环链表之约瑟夫环的实现方法
Jan 16 Javascript
vue2.0使用swiper组件实现轮播的示例代码
Mar 03 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
网上抓的一个特效
2007/05/11 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python连接池实现示例程序
2013/11/26 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python中random模块详解
2021/03/01 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
英国玛莎百货美国官网:Marks & Spencer美国
2018/11/06 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
医护人员英文求职信范文
2013/11/26 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
人民币使用说明书
2019/04/17 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server