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 相关文章推荐
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
js选择器全面解析
Jun 27 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
微信小程序实现自定义picker选择器弹窗内容
May 26 Javascript
vue实现路由切换改变title功能
May 28 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
JavaScript Event Loop相关原理解析
Jun 10 Javascript
JavaScript多种图形实现代码实例
Jun 28 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
php删除数组元素示例分享
2014/02/17 PHP
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
django rest framework serializers序列化实例
2020/05/13 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
美国高端寝具品牌:Coyuchi
2017/02/08 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
秋季运动会通讯稿
2014/01/24 职场文书
运动会解说词100字
2014/01/31 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
个人安全承诺书
2014/05/22 职场文书
销售员岗位职责
2015/02/10 职场文书
校本培训个人总结
2015/02/28 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
排球赛新闻稿
2015/07/17 职场文书
离职告别感言
2015/08/04 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python