zoukankan      html  css  js  c++  java
  • 关于两数组,求出两数组中相同的的对象

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

     这个才计算两次

      

     
  • 相关阅读:
    python-历史
    10-函数命名空间,作用域,嵌套,闭包
    centos7 搭建dns服务器
    centos7 搭建dhcp服务器
    Nginx 启用 gzip 压缩
    Eclipse 个人手册
    Nginx 命令
    定时任务
    系统设计
    根据 xsd 生成 jaxb java 类
  • 原文地址:https://www.cnblogs.com/wxydemo/p/12629631.html
Copyright © 2011-2022 走看看