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 相关文章推荐
一些实用的jQuery代码片段收集
Jul 12 Javascript
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
Oct 11 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
js如何判断用户是在PC端和还是移动端访问
Apr 24 Javascript
node.js中的path.normalize方法使用说明
Dec 08 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
vue2.0 父组件给子组件传递数据的方法
Jan 15 Javascript
Vue.js实现表格渲染的方法
Sep 07 Javascript
js拖动滑块和点击水波纹效果实例代码
Oct 16 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 Javascript
JavaScript实现一键复制内容剪贴板
Jul 23 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 UBB 解析实现代码
2011/11/27 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
JS编程小常识很有用
2012/11/26 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
Python编程之多态用法实例详解
2015/05/19 Python
python 读取文件并替换字段的实例
2018/07/12 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
互动出版网:专业书籍
2017/03/21 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
测绘工程专业个人自我评价
2013/12/01 职场文书
土木工程专业个人求职信
2013/12/30 职场文书
三查三看党性分析材料
2014/02/18 职场文书
软件售后服务承诺书
2014/05/21 职场文书
大学生求职信怎么写
2015/03/19 职场文书
被告答辩状范文
2015/05/22 职场文书
女性健康讲座主持词
2015/07/04 职场文书