美文网首页
数组A,根据数组B的值排序

数组A,根据数组B的值排序

作者: 缓慢的蜗牛 | 来源:发表于2021-01-15 14:25 被阅读0次

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

相关文章

网友评论

      本文标题:数组A,根据数组B的值排序

      本文链接:https://www.haomeiwen.com/subject/vlcwaktx.html