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 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
js 蒙版进度条(结合图片)
Mar 10 Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
jquery $.each() 使用小探
Aug 23 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
Nov 02 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
Nov 17 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
JSON字符串操作移除空串更改key/value的介绍
Jan 05 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 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 fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php创建session的方法实例详解
2015/01/27 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
JavaScript实现打字游戏
2021/02/19 Javascript
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
django使用LDAP验证的方法示例
2018/12/10 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
《社戏》教学反思
2014/04/15 职场文书
村容村貌整治方案
2014/05/21 职场文书
幼儿园运动会口号
2014/06/07 职场文书
四风问题对照检查材料
2014/09/22 职场文书
2014年党员整改措施
2014/10/24 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
劳模事迹材料范文
2014/12/24 职场文书
实用求职信模板范文
2019/05/13 职场文书
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL