1.要求写程序实现:
a)以B数组为参考,对A数组进行重新排序;
b)节省空间,不能开辟新的数组。
arrSort() {
let arrA = [
{id: 1, name: 'david'},
{id: 2, name: 'alin'},
{id: 3, name: 'ming'},
{id: 4, name: 'lili'},
{id: 5, name: 'amy'},
{id: 6, name: 'amy6'}
];
let arrB = [5, 1, 4, 3, 2];
//创建第三数组
let arrC = [];
for (let i = 0; i < arrB.length; i++) {
for (let x = 0; x < arrA.length; x++) {
if (arrB[i] == arrA[x].id) {
arrC.push({
id: arrB[i],
name: arrA[x].name
})
}
}
}
console.log('arrC', arrC);
// 在A数组与B数组相同给的情况下
arrB.forEach(item => {
arrA.find((each, index, arr) => {
if (item === each.id) {
arr.splice(index, 1)
arrA.push(each)
}
})
})
console.log('arrA', arrA);
},
网友评论