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 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
May 03 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
深入理解JavaScript中的并行处理
Sep 22 Javascript
vue上传图片组件编写代码
Jul 26 Javascript
vue系列之动态路由详解【原创】
Sep 10 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
Sep 10 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
JS Array.from()将伪数组转换成数组的方法示例
Mar 23 Javascript
javascript实现获取中文汉字拼音首字母
May 19 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 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
PHP5常用函数列表(分享)
2013/06/07 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
JS location几个方法小姐
2008/07/09 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
python计算日期之间的放假日期
2018/06/05 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python中Numpy mat的使用详解
2019/05/24 Python
Python 的AES加密与解密实现
2019/07/09 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
关于Keras Dense层整理
2020/05/21 Python
Django-imagekit的使用详解
2020/07/06 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
优秀实习自我鉴定
2013/12/04 职场文书
美德好少年主要事迹
2014/01/29 职场文书
总结表彰大会主持词
2014/03/26 职场文书
鼓舞士气的口号
2014/06/16 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
致运动员加油稿
2015/07/21 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP