JavaScript中数组Array.sort()排序方法详解


Posted in Javascript onMarch 01, 2017

JavaScript中数组的sort()方法主要用于对数组的元素进行排序。其中,sort()方法有一个可选参数。但是,此参数必须是函数。 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字。

1、对数字数组进行由小到大的顺序进行排序。

代码:

var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56]
arr.sort(function (m, n) {
 if (m < n) return -1
 else if (m > n) return 1
 else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]

2、对字符串数组执行不区分大小写的字母表排序。

代码:

var arr = ['abc', 'Def', 'BoC', 'FED'];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
console.log(arr.sort(function(s, t){
 var a = s.toLowerCase();
 var b = t.toLowerCase();
 if (a < b) return -1;
 if (a > b) return 1;
 return 0;
})); // ["abc", "BoC", "Def", "FED"]

3、对包含对象的数组排序,要求根据对象中的年龄进行由大到小的顺序排列

代码:

var arr = [{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '赵六', age: 4}];
var objectArraySort = function (keyName) {
 return function (objectN, objectM) {
  var valueN = objectN[keyName]
  var valueM = objectM[keyName]
  if (valueN < valueM) return 1
  else if (valueN > valueM) return -1
  else return 0
 }
}
arr.sort(objectArraySort('age'))
console.log(arr) // [{'name': '王五', age: 37},{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '赵六', age: 4}]

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jquery 年会抽奖程序
Dec 22 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
Sep 26 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
Jan 31 Javascript
TinyMCE汉化及本地上传图片功能实例详解
May 31 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
js实现的订阅发布者模式简单示例
Mar 14 Javascript
javascript中replace使用方法总结
Mar 01 #Javascript
jQuery validate 验证radio实例
Mar 01 #Javascript
提高JavaScript执行效率的23个实用技巧
Mar 01 #Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
Mar 01 #Javascript
分分钟玩转Vue.js组件(二)
Mar 01 #Javascript
js实现带三角符的手风琴效果
Mar 01 #Javascript
JavaScript拖动层Div代码
Mar 01 #Javascript
You might like
php编写的一个E-mail验证类
2015/03/25 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
python服务器与android客户端socket通信实例
2014/11/12 Python
python实现定时播放mp3
2015/03/29 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
Python有参函数使用代码实例
2020/01/06 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
《长城》教学反思
2014/02/14 职场文书
开业庆典策划方案
2014/02/18 职场文书
经典洗发水广告词
2014/03/13 职场文书
廉洁使者实施方案
2014/03/29 职场文书
演讲比赛策划方案
2014/06/11 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
抗洪救灾标语
2014/10/08 职场文书
财务部岗位职责
2015/02/03 职场文书
2015年商场工作总结
2015/04/27 职场文书
公积金贷款承诺书
2015/04/30 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python