json对象数组按对象属性排序

本文介绍了一种使用JavaScript实现的自定义排序方法,该方法通过比较对象属性的方式对数组进行排序。示例中展示了如何根据对象的name属性进行升序排序,并提供了一个通用的排序函数getSortFun,该函数可以根据参数指定的顺序(升序或降序)和排序依据对数组进行排序。

var staffs=[{name:"join",age:20},{name:"ajax",age:21},{name:"trim",age:22}];

function compare(property){
return function(obj1,obj2){
var value1=obj1[property];
var value2=obj2[property]
return value1-value2;
}
}
var newStaffs=staffs.sort(compare("name"));
console.log(newStaffs)

    

var array = [
{name: 'a', phone: 1},
{name: 'a', phone: 2},
{name: 'b', phone: 5},
{name: 'd', phone: 3},
{name: 'c', phone: 4}
]
array.sort(getSortFun('desc', 'name'));
function getSortFun(order, sortBy) {
var ordAlpah = (order == 'asc') ? '>' : '<';
var sortFun = new Function('a', 'b', 'return a.' + sortBy + ordAlpah + 'b.' + sortBy + '?1:-1');
return sortFun;
}
console.log(JSON.stringify(array));

转载于:https://www.cnblogs.com/hngdlxy143/p/6884335.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值