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 相关文章推荐
国外的为初学者写的JavaScript教程
Jun 09 Javascript
javascript代码加载优化方法
Jan 30 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
Dec 05 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
JS简单测试循环运行时间的方法
Sep 04 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
详解JQuery基础动画操作
Apr 12 jQuery
javascript异步编程的六种方式总结
May 17 Javascript
使用node.JS中的url模块解析URL信息
Feb 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
php懒人函数 自动添加数据
2011/06/28 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
php获取微信openid方法总结
2019/10/10 PHP
动态添加js事件实现代码
2009/03/12 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
Python实现字符串逆序输出功能示例
2017/06/24 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
python实现猜单词游戏
2020/05/22 Python
python实例化对象的具体方法
2020/06/17 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
韩国11街:11STREET
2018/03/27 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
岗位职责的定义
2013/11/10 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
股权收购意向书
2014/04/01 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python