Javascript 对包含具有对象数组的对象的数组进行排序
以下是我的对象内对象数组示例:Javascript 对包含具有对象数组的对象的数组进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,以下是我的对象内对象数组示例: var ActivitiesObject = [{ activities: [{ id: someid order: 1 }, { id: someid order: 0 }] }, { activities: [{ id: someid order: 0 }, { id: someid order
var ActivitiesObject = [{
activities: [{
id: someid
order: 1
}, {
id: someid
order: 0
}]
}, {
activities: [{
id: someid
order: 0
}, {
id: someid
order: 1
}]
}];
我想做的是对这个activities对象进行排序,这样活动中的对象就可以根据订单号按顺序排列,所以排序完成后,应该是这样的:
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;
});
但那没用。实现这一点的正确语法或方法是什么?您希望对
活动进行排序,而不是对活动对象进行排序,因此您应该迭代外部数组,对每个内部数组进行排序
ActivitiesObject.forEach(function(obj) {
obj.activities.sort(function(a, b) {
return a.order - b.order;
});
});