数组双重遍历

var arr1 = [{

        id: 1,

        name: 'a'

    }, {

        id: 2,

        name: 'b'

    }, {

        id: 3,

        name: 'c'

    }, {

        id: 4,

        name: 'd'

    }, {

        id: 5,

        name: 'e'

    }, {

        id: 6,

        name: 'f'

    }];

        

    var arr2 = [{

        id: 1,

        name: 'a'

    }, {

        id: 4,

        name: 'd'

    }, {

        id: 7,

        name: 'g'

    }];

两个数组 arr1 和 arr2 求他们中 id 相同的项。有什么最优的方案吗?

Smart猫小萌
浏览 814回答 4
4回答

牧羊人nacy

提供一个用 Set 求交集的方法:arr1 = new Set(arr1.map(i => i.id));arr2 = new Set(arr2.map(i => i.id));let intersectionSet = new Set([...arr1].filter(x => arr2.has(x)));console.log(intersectionSet);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript