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 相关文章推荐
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
js构造函数、索引数组和属性的实现方式和使用
Nov 16 Javascript
js实现ifram取父窗口URL地址的方法
Feb 09 Javascript
AngularJS实现表单手动验证和表单自动验证
Dec 09 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
Jul 12 Javascript
AngularJS利用Controller完成URL跳转
Aug 09 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
vue项目首屏加载时间优化实战
Apr 23 Javascript
微信小程序实现点击生成随机验证码
Sep 09 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
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
php命令行用法入门实例教程
2014/10/27 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
Python与shell的3种交互方式介绍
2015/04/11 Python
Python字符串处理之count()方法的使用
2015/05/18 Python
Python内置函数—vars的具体使用方法
2017/12/04 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python while循环使用else语句代码实例
2020/02/07 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
keras得到每层的系数方式
2020/06/15 Python
美国网上订购鲜花:FTD
2016/09/23 全球购物
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
印尼在线购买隐形眼镜网站:Lensza.co.id
2019/04/27 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
法语专业求职信
2014/07/20 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android