javascript  数组排序与对象排序的实例


Posted in Javascript onJuly 17, 2017

javascript  数组排序与对象排序的实例

数组排序

在使用JavaScript的时候,我们都发现了sort这个函数其实是按照字典顺序进行排序的,比如下面的这个例子:

var ary = [2, 98, 34, 45, 78, 7, 10, 100, 99];
ary.sort();
console.log(ary);

控制台输出结果:

Array [ 10, 100, 2, 34, 45, 7, 78, 98, 99 ]

这个也很显然验证了我之前所写的东西,上面的结果就是比较数组元素的第一位,然后按照这个1-9这个顺序排列,那么我们就需要给sort函数传入一个比较函数(在这里我还是得提及一下C语言的函数指针,简单说就是给一个函数传入另外一个函数,而这个传入的就像是你给出你自己的一套规则,而计算机按你这个规则执行就好了),现在也是这个道理,给出一个规则来,那就请看下面的代码:

var ary = [2, 98, 34, 45, 78, 7, 10, 100, 99];
ary.sort((a, b) => {
 return a-b;
});
console.log(ary);

降序输出:

ary.sort(function(a, b) {
 return b-a;
});
console.log(ary);

传入的函数是采用ES6的写法,等同于:

ary.sort(function(a, b) {
 return a-b;
});

输出结果:

Array [ 2, 7, 10, 34, 45, 78, 98, 99, 100 ]

Array [ 100, 99, 98, 78, 45, 34, 10, 7, 2 ]

对象排序

今天要说的排序对象,像下面那样,将多个对象放置在一个数组里面

var objArray = [
 {name : 'lily', age : 22},
 {name : 'kandy', age : 20},
 {name : 'lindy', age : 24},
 {name : 'Jone', age : 27}
];

下面就需要对它们进行排序了:

function sortObj(array, key) {
 return array.sort(function(a, b) {
  var x = a[key];
  var y = b[key];
  return x - y;
  //或者 return x > y ? 1 : (x < y ? -1 : 0);
 });
}

控制台输出结果:

javascript  数组排序与对象排序的实例

以上就是javascript  数组排序与对象排序的实例的讲解,大家如果有疑问可以留言讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Javascript new Date().valueOf()的作用与时间戳由来详解
Apr 24 Javascript
悬浮数字的实现案例
Feb 19 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
Feb 25 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
js图片翻书效果代码分享
Aug 20 Javascript
RGB和YUV 多媒体编程基础详细介绍
Nov 04 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
Jun 30 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 Javascript
JS实现简单的表格增删
Jan 16 Javascript
jQuery常用选择器详解
Jul 17 #jQuery
js轮播图的插件化封装详解
Jul 17 #Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 #Javascript
Vue.js中组件中的slot实例详解
Jul 17 #Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 #Javascript
JS实现仿UC浏览器前进后退效果的实例代码
Jul 17 #Javascript
详解利用jsx写vue组件的方法示例
Jul 17 #Javascript
You might like
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
ie 调试javascript的工具
2009/04/29 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
深入理解Node module模块
2018/03/26 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
Python命令行解析模块详解
2018/02/01 Python
VSCode下好用的Python插件及配置
2018/04/06 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python3匿名函数用法示例
2018/07/25 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
python绘制直方图和密度图的实例
2019/07/08 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
酒店秘书求职信范文
2014/02/17 职场文书
白岩松演讲
2014/05/21 职场文书
教师专业自荐信
2014/05/31 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
英文商务邀请函范文
2015/01/31 职场文书
义诊活动通知
2015/04/24 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
Golang 遍历二叉树
2022/04/19 Golang
深入理解 Golang 的字符串
2022/05/04 Golang