var dataList = [
{id: 11, status: 'status-start'},
{id: 2, status: 'status-completed'},
{id: 3, status: 'status-in-progress'},
{id: 4, status: 'status-start'},
{id: 5, status: 'status-completed'},
{id: 6, status: 'status-in-progress'},
{id: 7, status: 'status-start'},
{id: 8, status: 'status-start'},
{id: 9, status: 'status-in-progress'},
{id: 10, status: 'status-start'},
{id: 11, status: 'status-completed'},
{id: 1, status: 'status-completed'}
];
var currentBatches = [],
currentStartedBatches = [],
currentInProgressBatches = [{id: 200, status: 'status-in-progress'}],
currentCompletedBatches = [{id: 12, status: 'status-completed'}, {id: 119, status: 'status-completed'}];
currentStartedBatches = currentStartedBatches.concat(dataList.filter(function(d){ return d.status ==='status-start' }));
currentInProgressBatches = currentInProgressBatches.concat(dataList.filter(function(d){ return d.status ==='status-in-progress' }));
currentCompletedBatches = currentCompletedBatches.concat(dataList.filter(function(d){ return d.status ==='status-completed' }));
currentBatches = currentBatches.concat(currentStartedBatches).concat(currentInProgressBatches).concat(currentCompletedBatches);
console.log(currentBatches);
也许更容易只是排序结果阵列?或者你有更复杂的用例? –
@StanislavKvitash但提到的顺序既不是升序,也不是降序。你将如何确保数组按照这个自定义顺序排序?无法按特定顺序推送项目,以便根据需要重新排列阵列。 – StrugglingCoder