var arr = [
{ name: 1, id: 1, queue: 2 },
{ name: 2, id: 6, queue: 9 },
{ name: 3, id: 4, queue: 8 },
{ name: 4, id: 5, queue: 7 },
{ name: 5, id: 0, queue: 6 },
{ name: 6, id: 6, queue: 5 },
{ name: 6, id: 6, queue: 0 },
{ name: 7, id: 2, queue: 24 },
{ name: 8, id: 3, queue: 3 },
{ name: 9, id: 0, queue: 1 },
{ name: 10, id: 2, queue: 0 },
{ name: 11, id: 4, queue: 22 },
{ name: 11, id: 8, queue: 12 },
];
var order = [0, 6, 1, 2, 3, 4, 5];
var newarr = [];
for (var i = 0; i < order.length; i++) {
for (var j = 0; j < arr.length; j++) {
if (arr[j].id === order[i]) {
newarr.push(arr[j]);
arr.splice(j, 1);
j--;
}
}
}
console.log(newarr.concat(arr))
newarr = newarr.concat(arr);
console.log(newarr);
var newnewarr = [];
var obj = {};
var j = 0;
newnewarr[j] = [];
for (var i = 0; i < newarr.length; i++) {
obj[newarr[0].id] = true;
if (!obj[newarr[i].id]) {
j++;
newnewarr[j] = [];
obj[newarr[i].id] = true;
}
newnewarr[j].push(newarr[i])
}
console.log(newnewarr);
function sort(arr) {
arr.sort(function(a, b) {
return b.queue - a.queue;
});
}
for (var i = 0; i < newnewarr.length; i++) {
sort(newnewarr[i])
}
//现在的newnewarr就是需要的数组
var resultArr = [];
newnewarr.forEach(item => {
console.log(item)
resultArr = resultArr.concat(item)
})
console.log(resultArr);
将数据先按照 order = [0, 6, 1, 2, 3, 4, 5],这个顺序排列
在按照 queue 从小到大排列