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的parseInt 取整使用
May 09 Javascript
jQuery滚动加载图片效果的实现
Mar 06 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
javascript trim函数在IE下不能用的解决方法
Sep 12 Javascript
JQuery控制Radio选中方法分析
May 29 Javascript
JavaScript 字符串常用操作小结(非常实用)
Nov 30 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
vue.js element-ui tree树形控件改iview的方法
Mar 29 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
JQuery样式与属性设置方法分析
Dec 07 jQuery
vue setInterval 定时器失效的解决方式
Jul 30 Javascript
详解JS ES6编码规范
May 07 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
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
基于Zookeeper的使用详解
2013/05/02 PHP
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
JS实现将链接生成二维码并转为图片的方法
2018/03/17 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
深入解析Python中的线程同步方法
2016/06/14 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
基于python实现高速视频传输程序
2019/05/05 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
建筑设计所实习生自我鉴定
2013/09/25 职场文书
财务负责人任命书
2014/06/06 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
晚会开幕词
2015/01/28 职场文书
论文评审意见
2015/06/05 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS
html5实现点击弹出图片功能
2021/07/16 HTML / CSS