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

     这个才计算两次

      

     
  • 相关阅读:
    求出123456 8910,数字,显示出来
    Django之Model操作
    AJAX全套
    Python之路【第十六篇】:Django【基础篇】
    Q2Day81
    Django第二重点(thml与django连接)
    react
    es6 和 python 语法比较
    微信
    py库: GUI(tkinter)
  • 原文地址:https://www.cnblogs.com/wxydemo/p/12629631.html
Copyright © 2011-2022 走看看