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 火狐下取本地路径实现思路
Apr 02 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
Jul 18 Javascript
最短的IE判断var ie=!-[1,]分析
May 28 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
使用Angular.js开发的注意事项
Oct 19 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
JavaScript实现一个空中避难的小游戏
Jun 06 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
Vue三层嵌套路由的示例代码
May 05 Javascript
详解如何制作并发布一个vue的组件的npm包
Nov 10 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
Oct 26 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
python 日志增量抓取实现方法
2018/04/28 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
Python+OpenCv制作证件图片生成器的操作方法
2019/08/21 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
详解HTML5新增标签
2017/11/27 HTML / CSS
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
人力资源主管职责范本
2014/03/05 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL