如何在JavaScript中对多维对象进行排序
How to sort a multidimensional object in JavaScript
如何按年龄值对对象进行排序?
我有以下对象结构
{
"men": {
"20114": {
"id": "20114",
"name": "Peter",
"age": "21"
},
"28957": {
"id": "28957",
"name": "Paul",
"age": "20"
}
},
"women": {
"8957": {
"id": "8957",
"name": "Rose",
"age": "24"
},
"2178": {
"id": "2178",
"name": "Sara",
"age": "22"
}
},
}
我知道,我可以对像这样的数组进行排序
groups.sort(function(a, b) {
return b.age - a.age;
});
但是如何处理对象呢?
如果您可以将结构更改为下面的JSON模型,那么对数据进行排序会容易得多:
var data = [
{
"id": "20114",
"name": "Peter",
"age": "21",
"gender": "men"
},
{
"id": "28957",
"name": "Paul",
"age": "20",
"gender": "men"
},
{
"id": "8957",
"name": "Rose",
"age": "24",
"gender": "women"
},
{
"id": "2178",
"name": "Sara",
"age": "22",
"gender": "women"
}
]
data.sort(function(a, b) {
return parseFloat(a.age) - parseFloat(b.age);
});
data.sort()
document.write(JSON.stringify(data))
function sortfunc(prop){
return function(obj1,obj2){
var val1 = obj1[prop];
var val2 = obj2[prop];
return val1 - val2;
};
}
groups.sort(sortfunc(prop));
将prop
作为属性名称传递
相关文章:
- 如何在节点中进行 Json 对象排序.js
- jQuery.每个对象排序
- Javascript对象排序
- Javascript 对象排序
- Javascript中的JSON对象排序
- jQuery停止对象排序
- 带有下划线排序的对象排序的数组
- JS对象排序日期排序
- JSON对象排序被jQuery或Javascript篡改
- 高级对象排序
- 将json对象排序到嵌套树中
- 按两个不同的条件对数组中的对象排序
- 如何在angular js中使用自定义排序顺序对对象排序
- 在AngularJS的ng-repeat中,使用Underscore/Lodash按值将对象排序为一对数组
- 给定一个对象数组,如何根据深度为n的属性对对象排序
- JavaScript数组对象排序没有按预期工作
- 对数组内的对象排序
- 自定义javascript对象排序和维护索引关联
- Javascript对象排序不工作
- Javascript对象的对象排序