码迷,mamicode.com
首页 > 编程语言 > 详细

关于两数组,求出两数组中相同的的对象

时间:2020-04-04 00:23:41      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:mamicode   name   div   item   java   items   class   highlight   nbsp   

1:平常的操作 (直接同for循环)

 
 let a = [{
        id: ‘1‘,
        name: ‘1‘
    }, {
        id: ‘2‘,
        name: ‘2‘
    }, {
        id: ‘3‘,
        name: ‘2‘
    }]
    let b = [{
            id: ‘3‘,
            name: ‘3‘
        },
        {
            id: ‘1‘,
            name: ‘1‘
        }
    ]
    let c = [] //定义一个接受相同数组的数组
    let num = 0
    for (let item of a) {
        num++
        for (let items of b) {
            num++
            if (a.id == b.id) {
                c.push(item)
                console.log(num)
                break
            }
        }
    }
技术图片

 

 


 

 这个要算6次才能算出来

  2:用map去计算

let a = [{
        id: ‘1‘,
        name: ‘1‘
    }, {
        id: ‘2‘,
        name: ‘2‘
    }, {
        id: ‘3‘,
        name: ‘3‘
    }]
    let b = [{
            id: ‘3‘,
            name: ‘3‘
        },
        {
            id: ‘1‘,
            name: ‘1‘
        }
    ]
    let c = new Map()
    a.map(item => {
        c.set(item.id, item)
    })
    let d = []
    let e = []
    let num = 0
    b.map(item => {
        num++
        if (c.has(item.id)) {
            d.push(item)
            console.log(num)
        } else {
            e.push(item)
        }
    })
技术图片

 

 这个才计算两次

  

 

 

关于两数组,求出两数组中相同的的对象

标签:mamicode   name   div   item   java   items   class   highlight   nbsp   

原文地址:https://www.cnblogs.com/wxydemo/p/12629631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!