JS实现给数组对象排序的方法分析


Posted in Javascript onJune 24, 2019

本文实例讲述了JS实现给数组对象排序的方法。分享给大家供大家参考,具体如下:

JS中给数组对象排序

假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。

可是,我们需要一种方式指明按照哪个属性来排序。

要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。

function createComprisonFunction(propertyName){
    return function(object1,object2){
        var value1 = object1[propertyName];
        var value2 = object2[propertyName];
        if(value1 < value2){
            return -1;
        }else if(value1 > value2){
            return 1;
        }else{
            return 0;
        }
    }
}
//上面的函数可以像在下面的列子中这样使用
var data = [{name:"Zachary",age:28},{name:"Nicholas",age:29}];
data.sort(createComprisonFunction("name"));
console.log(data[0].name); //Nicholas
data.sort(createComprisonFunction("age"));
console.log(data[0].name); //Zachary

运行结果:

JS实现给数组对象排序的方法分析

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

Javascript 相关文章推荐
什么是JavaScript
Aug 13 Javascript
javascript DOM编程实例(智播客学习)
Nov 23 Javascript
Angular中的Promise对象($q介绍)
Mar 03 Javascript
jQuery实现平滑滚动到指定锚点的方法
Mar 20 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
May 13 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
Sep 17 Javascript
javascript实现五星评分功能
Nov 10 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
Oct 13 Javascript
js 判断登录界面的账号密码是否为空
Feb 08 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 Javascript
使用vue-router设置每个页面的title方法
Feb 11 Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 #Javascript
Electron + vue 打包桌面操作流程详解
Jun 24 #Javascript
JS字符串常用操作方法实例小结
Jun 24 #Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 #Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
Jun 24 #Javascript
新手如何快速理解js异步编程
Jun 24 #Javascript
简单了解小程序+node梳理登陆流程
Jun 24 #Javascript
You might like
2019十大人气国漫
2020/03/13 国漫
php include的妙用,实现路径加密
2008/07/29 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
php简单统计中文个数的方法
2016/09/30 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
英国女士家居服网站:hush
2017/08/09 全球购物
大学毕业感言
2014/01/10 职场文书
体育运动口号
2014/06/09 职场文书
学校督导评估方案
2014/06/10 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
农村文化建设标语
2014/10/07 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书