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实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
jQuery+ajax实现顶一下,踩一下效果
Jul 17 Javascript
JS实现self的resend
Jul 22 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
Aug 08 Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 Javascript
Vue.Draggable实现拖拽效果
Jul 29 Javascript
微信小程序删除处理详解
Aug 16 Javascript
基于node.js之调试器详解
Aug 22 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
你准备好迎接vue3.0了吗
Apr 28 Javascript
用JS实现飞机大战小游戏
Jun 09 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程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
做网页的一些技巧
2007/02/01 Javascript
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
详解Python中dict与set的使用
2015/08/10 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python3 求约数的实例
2019/12/05 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
草莓网化妆品澳大利亚站:Strawberrynet AU
2017/12/18 全球购物
英语自荐信范文
2013/12/11 职场文书
标准版离职证明书
2014/09/12 职场文书
质量主管工作职责
2014/09/26 职场文书
监护人证明
2015/06/19 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
二年级作文之动物作文
2019/11/13 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js
使用CSS定位HTML元素的实现方法
2022/07/07 HTML / CSS