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 相关文章推荐
pjblog中的UBBCode.js
Apr 25 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
Nov 25 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
Jun 19 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
详解react-webpack2-热模块替换[HMR]
Aug 03 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
Dec 22 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 Javascript
解决vue无法侦听数组及对象属性的变化问题
Jul 17 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计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
JS返回iframe中frameBorder属性值的方法
2015/04/01 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
2017/07/17 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
解决pytorch-yolov3 train 报错的问题
2020/02/18 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
python 发送get请求接口详解
2020/11/17 Python
前台文员岗位职责
2013/12/28 职场文书
职工运动会邀请函
2014/02/02 职场文书
物业总经理岗位职责
2014/02/28 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
酒桌上的开场白
2015/06/01 职场文书
胡桃夹子观后感
2015/06/11 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书
培训心得体会怎么写
2016/01/25 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android