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 相关文章推荐
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
javascript避免数字计算精度误差的方法详解
Mar 05 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
Oct 14 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
js实现点击链接后延迟3秒再跳转的方法
Jun 05 Javascript
jQuery简单创建节点的方法
Sep 09 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
简单实现js鼠标跟随效果
Aug 02 Javascript
vue实现2048小游戏功能思路详解
May 09 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 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
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
PHP获取网卡地址的代码
2008/04/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
解析php中反射的应用
2013/06/18 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
使javascript也能包含文件
2006/10/26 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
pytorch使用Variable实现线性回归
2019/05/21 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
基于Python实现简单学生管理系统
2020/07/24 Python
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
财务出纳员岗位职责
2013/11/26 职场文书
八年级美术教学反思
2014/02/02 职场文书
教师见习报告范文
2014/11/03 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
赢在中国观后感
2015/06/02 职场文书
网络研修心得体会
2016/01/08 职场文书
golang正则之命名分组方式
2021/04/25 Golang
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js