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 相关文章推荐
idTabs基于JQuery的根据URL参数选择Tab插件
Apr 11 Javascript
使用mini-define实现前端代码的模块化管理
Dec 25 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
canvas压缩图片转换成base64格式输出文件流
Mar 09 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
JavaScript事件对象深入详解
Dec 30 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
Nov 13 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
解决await在forEach中不起作用的问题
Feb 25 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php中几种常见安全设置详解
2010/04/06 PHP
php适配器模式介绍
2012/08/14 PHP
PHP二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php session_decode函数用法讲解
2019/05/26 PHP
理解Javascript_05_原型继承原理
2010/10/13 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
python实现的简单文本类游戏实例
2015/04/28 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
Sanic框架路由用法实例分析
2018/07/16 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
创业计划书六个要素
2013/12/26 职场文书
幼儿园大班新学期寄语
2014/01/18 职场文书
大学生毕业鉴定
2014/01/31 职场文书
服装创业计划书范文
2014/02/05 职场文书
关于读书的演讲稿
2014/05/07 职场文书
会计求职信范文
2014/05/24 职场文书
医院志愿者活动总结
2015/05/06 职场文书
在校证明模板
2015/06/17 职场文书
运动会致辞稿
2015/07/29 职场文书
装修安全责任协议书
2016/03/22 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python