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 相关文章推荐
javascript的函数
Jan 31 Javascript
JS实现的省份级联实例代码
Jun 24 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
js鼠标滑过图片震动特效的方法
Feb 17 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
深入理解vue路由的使用
Mar 24 Javascript
Angular.js组件之input mask对input输入进行格式化详解
Jul 10 Javascript
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
May 01 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 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中文验证码实现方法
2015/06/18 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
python实现石头剪刀布小游戏
2021/01/20 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
用python对excel查重
2020/12/07 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
商得四方公司面试题(gid+)
2014/04/30 面试题
公司综合部的成员自我评价分享
2013/11/05 职场文书
水果超市创业计划书
2014/01/27 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
关于感谢信的范文
2015/01/23 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
如何利用python实现Simhash算法
2022/06/28 Python