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取值中form.all和不加all的区别介绍
Jan 20 Javascript
JQuery节点元素属性操作方法
Jun 11 Javascript
详解JavaScript中常用的函数类型
Nov 18 Javascript
超详细的javascript数组方法汇总
Nov 21 Javascript
实例详解JavaScript获取链接参数的方法
Jan 01 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
Dec 22 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
js实现音乐播放控制条
Sep 09 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
Jul 26 Javascript
element-ui组件table实现自定义筛选功能的示例代码
Mar 15 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 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
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
深入浅析JS Function()构造函数
2016/08/22 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
js根据需要计算数组中重复出现某个元素的个数
2019/01/18 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
js实现时间日期校验
2020/05/26 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
python SVM 线性分类模型的实现
2019/07/19 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
大学新生欢迎词
2014/01/10 职场文书
表彰大会主持词
2014/03/26 职场文书
暑假家长评语大全
2014/04/17 职场文书
装配出错检讨书
2014/09/23 职场文书
离婚财产分配协议书
2014/10/21 职场文书
学生党员检讨书范文
2014/12/27 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技