文档章节

JS中:json对象数组按对象属性排序

扬州炒饭
 扬州炒饭
发布于 2014/08/06 15:55
字数 123
阅读 7095
收藏 10
var array = [
    {name: 'a', phone: 1},
    {name: 'b', phone: 5},
    {name: 'd', phone: 3},
    {name: 'c', phone: 4}
]
array.sort(getSortFun('desc', 'phone'));
function getSortFun(order, sortBy) {
    var ordAlpah = (order == 'asc') ? '>' : '<';
    var sortFun = new Function('a', 'b', 'return a.' + sortBy + ordAlpah + 'b.' + sortBy + '?1:-1');
    return sortFun;
}

alert(JSON.stringify(array));

数组本身有sort方法,可以指定排序函数,因此可以动态生成一个排序函数来完成对按指定对象属性排序的需求;

注意:sort后原数组序列会发生变化!!

© 著作权归作者所有

扬州炒饭
粉丝 42
博文 93
码字总数 24585
作品 0
程序员
私信 提问
加载中

评论(3)

z
zhouxuanj
我用了这个方法但是报错了,能帮我看下吗?
function getSortFunction(sName,sOrder){
   var ordAlpah = (sOrder == 'asc') ? '>':'<';
var sortFun = new Function('a','b','return a.'+sName+ordAlpah +'b.'+sName+'?1:-1');
return sortFun;
}
VM1595:3 Uncaught SyntaxError: Unexpected token [
caryhgq
caryhgq
不错,很棒!
wangfh
wangfh
谢谢 正需要。
ES5特性 - ECMAScript特性 - Javascript核心

原文: http://pij.robinqu.me/JavaScriptCore/ECMAScript/es5.html 源代码: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/JavaScriptCore/ECMAScript/es5.m......

RobinQu
09/29
0
0
angularjs中的过滤器(filter)及过滤器的开发

过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等。ng内置了一...

孟飞阳
2017/10/20
6
0
[译] JavaScript 开发者经常忽略或误用的七个基础知识点

JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它。昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序。很多新手开发...

_大雁
2013/09/08
938
0
JavaScript开发者常忽略或误用的七个基础知识点

JavaScript 本身可以算是一门简单的语言,但我们也不断用智慧和灵活的模式来改进它。昨天我们将这些模式应用到了 JavaScript 框架中,今天这些框架又驱动了我们的 Web 应用程序。很多新手开发...

oschina
2013/08/21
4.8K
29
JavaScript基础学习总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/fengxinlinux/article/details/96162470 文章目录 document.getElem...

Rotation.
07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

领域驱动中的“贫血症和失忆症” --实践领域驱动--原文

贫血症严重危害着人类健康,并且伴随有危险的副作用。当贫血领域对象被首次提出来时,它并不是一个博得赞美的词汇,它描述的是一个缺少内在行为领域对象。奇怪的是,人们对于贫血领域对象的态...

还仙
18分钟前
4
0
条码打印软件中标签预览正常打印无反应怎么解决

在使用条码打印软件制作标签时,有客户反馈,标签打印预览正常的,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。 一、预览正常情况下,打印没反应 (1)在条码...

中琅软件
28分钟前
4
0
判断字符串的时候

判断字符串的时候一定把常量房前边, //报警程度 String leve = vo.getDeviceAlertDeal().getWarnLevel(); if(("0").equals(leve)) { row.add("无报警"); }else if(("1").equals(leve)) { ro......

简小姐
28分钟前
5
0
Linux maven3.6.2 install

PS:安装 maven 之前请先安装 jdk 1.安装 wget 命令(安装过就不用了) yum -y install wget 2.寻找需要的 maven 版本 https://maven.apache.org/download.cgi 3.进入 /var/local 文件夹 cd...

东方神祇
30分钟前
4
0
Tomcat源码分析二:先看看Tomcat的整体架构

Tomcat源码分析二:先看看Tomcat的整体架构 Tomcat架构图 我们先来看一张比较经典的Tomcat架构图: 从这张图中,我们可以看出Tomcat中含有Server、Service、Connector、Container等组件,接下...

flygrk
33分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部