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 相关文章推荐
如何快速的呈现我们的网页的技巧整理
Jul 01 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 Javascript
让js弹出窗口居前显示的实现方法
Jul 10 Javascript
简洁Ajax函数处理(示例代码)
Nov 15 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 Javascript
JS使用cookie实现只出现一次的广告代码效果
Apr 22 Javascript
javascript对HTML字符转义与反转义
Dec 13 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
Nov 13 Javascript
js实现炫酷光感效果
Sep 05 Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 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 归并排序 数组交集
2011/05/10 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
php实现分页显示
2015/11/03 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
Redis构建分布式锁
2017/03/28 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
小程序实现展开/收起的效果示例
2018/09/22 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
Python生成不重复随机值的方法
2015/05/11 Python
详解Python核心对象类型字符串
2018/02/11 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
浅谈python写入大量文件的问题
2018/11/09 Python
2014年质量管理工作总结
2014/12/01 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
python 命令行传参方法总结
2021/05/25 Python