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 性能优化指南(3)
May 21 Javascript
jqGrid jQuery 表格插件测试代码
Aug 23 Javascript
关于jQuery object and DOM element
Apr 15 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
angularjs中的e2e测试实例
Dec 06 Javascript
Js 获取、判断浏览器版本信息的简单方法
Aug 08 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 Javascript
JS触摸与手势事件详解
May 09 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
Jul 18 Javascript
JavaScript 中的六种循环方法
Jan 06 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
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python实现logistic分类算法代码
2020/02/28 Python
全球工业:Global Industrial
2020/02/01 全球购物
幼儿教师思想汇报
2014/01/10 职场文书
优秀士兵个人事迹材料
2014/01/19 职场文书
防沙治沙典型材料
2014/05/07 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
实习协议书
2015/01/27 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
原告离婚代理词
2015/05/23 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫