按属性排序JSON数组的通用方式 [英] Generic way of sorting JSON array by attribute
本文介绍了按属性排序JSON数组的通用方式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我发现了如何排序在<一个JSON数组href=\"http://www.devcurry.com/2010/05/sorting-json-array.html\">http://www.devcurry.com/2010/05/sorting-json-array.html
现在我想在一个通用的方式进行排序;所以,我的排序函数知道哪个属性排序依据。
Now I want to sort it in a generic way; so that my sorting function knows which attribute to sort by.
例如,如果我的数组是
[
{
"name": "John",
"age": "16"
},
{
"name": "Charles",
"age": "26"
}
]
我想避免编写不同的,如果案件知道我是否应该通过名称或年龄排序。我只是想传递一个参数'名'或'年龄'和我的排序功能应该知道该怎么做。
I want to avoid writing different if cases to know if I should sort by name or age. I just want to pass a parameter 'name' or 'age' and my sorting function should know what to do.
感谢。
推荐答案
有点像:
function predicatBy(prop){
return function(a,b){
if( a[prop] > b[prop]){
return 1;
}else if( a[prop] < b[prop] ){
return -1;
}
return 0;
}
}
//Usage
yourArray.sort( predicatBy("age") );
yourArray.sort( predicatBy("name") );
这篇关于按属性排序JSON数组的通用方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文