用Javascript排序JSON
考虑到我有下面的JSON,我如何生成另一个JSON,按字段排序(比如用Javascript排序JSON,javascript,json,sorting,Javascript,Json,Sorting,考虑到我有下面的JSON,我如何生成另一个JSON,按字段排序(比如anocbranca) 我尝试了一些技巧,如: function sortJSON(a,b){ return parseInt(a.json.extratos.anoCobranca - b.json.extratos.anoCobranca) } 还有一些我在StackOverflow找到的,但都失败了。使用回调函数对数组排序: obj.extratos.sort(function(a, b) { return a.
anocbranca
)
我尝试了一些技巧,如:
function sortJSON(a,b){
return parseInt(a.json.extratos.anoCobranca - b.json.extratos.anoCobranca)
}
还有一些我在StackOverflow找到的,但都失败了。使用回调函数对数组排序:
obj.extratos.sort(function(a, b) {
return a.anoCobranca - b.anoCobranca;
});
如果您不反对使用外部库,那么我建议您使用来解决此问题和类似问题。下面是我在下面一行中做这件事的一个例子:
var model = {
"extratos": [
{
"descricao": "product A",
"anoCobranca": 2012,
.
.
.
"situacao": "aberto"
}
]
};
model.extratos = _.sortBy(model.extratos,
function (extrato) { return extrato.anoCobranca; });
console.log(model);
这里有一个JSFIDLE,您可以使用它:
Yanick的解决方案也是一个很好的解决方案,但我认为下划线库具有广泛的功能(例如,map和reduce),可以帮助您解决一组复杂的数据操作问题,而不仅仅是简单的排序。使用下划线库,您只需执行以下操作:
_(obj.extratos).pluck(propertyName).sort()
_(obj.extratos).pluck(propertyName).sort()