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 相关文章推荐
使用js检测浏览器的实现代码
May 14 Javascript
jquery统计复选框选中示例
Nov 05 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
Vue数据双向绑定原理及简单实现方法
May 18 Javascript
Vue动画事件详解及过渡动画实例
Feb 09 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
javascrpt密码强度校验函数详解
Mar 18 Javascript
深入分析jQuery.one() 函数
Jun 03 jQuery
js代码编写无缝轮播图
Sep 13 Javascript
mustache.js实现首页元件动态渲染的示例代码
Dec 28 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 socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
php格式文件打开的四种方法
2018/02/24 PHP
php swoft框架实例用法
2020/12/22 PHP
Javascript 作用域使用说明
2009/08/13 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
浅谈Python中的数据类型
2015/05/05 Python
人机交互程序 python实现人机对话
2017/11/14 Python
python 获取字符串MD5值方法
2018/05/29 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
html5简介及新增功能介绍
2020/05/18 HTML / CSS
苹果台湾官网:Apple台湾
2019/01/05 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
小学门卫岗位职责
2013/12/17 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书