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实例教程(19) 使用HoTMetal(4)
Dec 23 Javascript
javascript代码运行不出来执行错误的可能情况整理
Oct 18 Javascript
jQuery实现跟随鼠标运动图层效果的方法
Feb 02 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
javascript实现2016新年版日历
Jan 25 Javascript
JS设置CSS样式的方式汇总
Jan 21 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
Feb 10 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
Mar 14 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
May 02 Javascript
JavaScript无操作后屏保功能的实现方法
Jul 04 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 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 similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
Linux常见面试题
2016/10/04 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
土地转让协议书
2014/09/27 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
python基础入门之字典和集合
2021/06/13 Python
Python自动化爬取天眼查数据的实现
2021/06/15 Python