Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对包含具有对象数组的对象的数组进行排序_Javascript_Arrays_Sorting - Fatal编程技术网

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;
    });
});