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中几种去掉字串左右空格的方法
Dec 25 Javascript
原生js实现跨浏览器获取鼠标按键的值
Apr 08 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
javascript通过元素id和name直接取得元素的方法
Apr 28 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
Javascript this 函数深入详解
Dec 13 Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 Javascript
vue-router之实现导航切换过渡动画效果
Oct 31 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 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实现的功能是显示8条基色色带
2006/10/09 PHP
php中文验证码实现方法
2015/06/18 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
js点击选择文本的方法
2015/02/09 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python正则表达式完全指南
2017/05/25 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
pycharm远程调试openstack代码
2017/11/21 Python
python re模块findall()函数实例解析
2018/01/19 Python
python交易记录整合交易类详解
2019/07/03 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
幼儿园教育教学反思
2014/01/31 职场文书
校庆筹备方案
2014/03/30 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
保护母亲河倡议书
2014/04/14 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
对学校的意见和建议
2015/06/04 职场文书
Golang日志包的使用
2022/04/20 Golang