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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
Jan 15 Javascript
JS常用函数使用指南
Nov 23 Javascript
JQuery操作textarea,input,select,checkbox方法
Sep 02 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
Sep 18 Javascript
jQuery表格的维护和删除操作
Feb 03 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 Javascript
JavaScript基础之静态方法和实例方法分析
Dec 26 Javascript
Node.js Buffer模块功能及常用方法实例分析
Jan 05 Javascript
vue循环中点击选中再点击取消(单选)的实现
Sep 10 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
php下统计用户在线时间的一种尝试
2010/08/26 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
jQuery extend 的简单实例
2013/09/18 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
售后主管岗位职责
2013/12/08 职场文书
2014年大学生自我评价
2014/01/19 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
一般纳税人申请报告
2015/05/18 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
DE1107机评
2022/04/05 无线电