博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js sort方法根据数组中对象的某一个属性值进行排序
阅读量:5306 次
发布时间:2019-06-14

本文共 1064 字,大约阅读时间需要 3 分钟。

sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同.

var arr = [    {name:'zopp',age:0},    {name:'gpp',age:18},    {name:'yjj',age:8}];function compare(property){    return function(a,b){        var value1 = a[property];        var value2 = b[property];        return value1 - value2;    }}console.log(arr.sort(compare('age')))

如何根据参数不同,来确定是升序排列,还是降序排序呢?

/**数组根据数组对象中的某个属性值进行排序的方法      * 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序     * @param attr 排序的属性 如number属性     * @param rev true表示升序排列,false降序排序     * */    sortBy: function(attr,rev){        //第二个参数没有传递 默认升序排列        if(rev ==  undefined){            rev = 1;        }else{            rev = (rev) ? 1 : -1;        }                return function(a,b){            a = a[attr];            b = b[attr];            if(a < b){                return rev * -1;            }            if(a > b){                return rev * 1;            }            return 0;        }    }

注意:使用sort 后会对原先的结果集造成影响!!!

 

 

 

.....2222

转载于:https://www.cnblogs.com/lovelgx/articles/7494956.html

你可能感兴趣的文章
Linux环境实现python远程可视编程
查看>>
【2017-12-09】c#基础-普通集合、泛型集合、哈希表集合、字典集合、队列集合、栈桥集合...
查看>>
android学习从模仿开始 —— 模仿UI 导航帖
查看>>
nginx优化 实现10万并发访问量
查看>>
IOS--时间 NSDate,NSTimeInterval的一些转换
查看>>
C语言- for 语句
查看>>
对Servlet请求或响应进行JMockit测试
查看>>
iOS---iPad开发及iPad特有的特技
查看>>
关于enum类型的本地化的一种方法探索:
查看>>
(转)625某电商网站数据库宕机故障解决实录(上,下)
查看>>
HDU3344(小广搜+小暴力
查看>>
hdu1151 二分图(无回路有向图)的最小路径覆盖 Air Raid
查看>>
哈希URAL 1941 - Scary Martian Word
查看>>
三.Shell脚本提取文件名称和所在的目录
查看>>
[BZOJ 4890][TJOI2017]城市
查看>>
Redis分布式爬取
查看>>
数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序...
查看>>
联想一体机怎么设置u盘启动|联想一体机bios改U盘启动方法(转)
查看>>
归纳整理 PHP大神的十大优良习惯
查看>>
HDU 3695 Computer Virus on Planet Pandora (AC自己主动机)
查看>>