这是对象示例中的对象数组:
var ActivitiesObject = [{
activities: [{
id: someid
order: 1
}, {
id: someid
order: 0
}]
}, {
activities: [{
id: someid
order: 0
}, {
id: someid
order: 1
}]
}];
我想要做的是对ActivityObject进行排序,以便活动中的对象基于订单号按顺序排列,因此在排序完成后,它应该如下所示:
var ActivitiesObject = [{
activities: [{
id: someid
order: 0
}, {
id: someid
order: 1
}]
}, {
activities: [{
id: someid
order: 0
}, {
id: someid
order: 1
}]
}];
现在,我尝试了这个:
ActivitiesObject.sort(function(a, b) {
return a.activities.order - b.activities.order;
});
但那没用。什么是正确的语法或方法来实现这一目标?
答案 0 :(得分:0)
您希望对activities
进行排序,而不是ActivitiesObject
,因此您应该遍历外部数组,对每个内部数组进行排序。
ActivitiesObject.forEach(function(obj) {
obj.activities.sort(function(a, b) {
return a.order - b.order;
});
});