首页 > 其他分享 >Debug-015-找出两个列表中不重复的元素

Debug-015-找出两个列表中不重复的元素

时间:2024-06-09 18:32:22浏览次数:5  
标签:deviceName setA productKey 列表 item 3LHl5ZWrRqS 015 Debug

    const setA = new Set(A.map((item) => item.deviceName))
    const res = B.filter(item => !setA.has(item.deviceName))
    console.log('两个列表中不重复的元素', res )

这段代码主要实现了从一个列表中筛选出不在另一个集合中的元素。

  1. 首先,通过map方法将A列表中的每个元素的deviceName属性提取出来,并创建了一个新的集合setA
  2. 然后,使用filter方法对B列表进行筛选,只保留那些deviceName属性不在setA集合中的元素。
  3. 最终,得到一个新的列表res,其中包含了所有不在A列表中的元素的deviceName属性。

简而言之,这段代码的作用是找出两个列表中不重复的元素。

这段解释其实是通义灵码的原话,是不是很强大

举例:

A= 
    [
        {
            "deviceName": "xwM3iOvNPUwCGx8k",
            "productKey": "3LHl5ZWrRqS"
        },
        {
            "deviceName": "wEhmko3YjUlRPaGj",
            "productKey": "3LHl5ZWrRqS"
        }
    ]


B = [
        {
            "deviceName": "kkkkk",
            "productKey": "FAcyh7L77GA"
        },
        {
            "deviceName": "IWGNbnkyTDjtrS9p",
            "productKey": "3LHl5ZWrRqS"
        },
        {
            "deviceName": "xwM3iOvNPUwCGx8k",
            "productKey": "3LHl5ZWrRqS"
        },
        {
            "deviceName": "wEhmko3YjUlRPaGj",
            "productKey": "3LHl5ZWrRqS"
        }
    ]


setA = new Set(A.map((item) => item.deviceName))


// new Set([
//    "xwM3iOvNPUwCGx8k",
//    "wEhmko3YjUlRPaGj"
// ])


B.filter(item => !setA.has(item.deviceName))


[
    {
        "deviceName": "kkkkk",
        "productKey": "FAcyh7L77GA"
    },
    {
        "deviceName": "IWGNbnkyTDjtrS9p",
        "productKey": "3LHl5ZWrRqS"
    }
]

标签:deviceName,setA,productKey,列表,item,3LHl5ZWrRqS,015,Debug
From: https://blog.csdn.net/LM0916/article/details/139487746

相关文章

  • 通过接口拿到代理,返回代理列表(只有http,无https)
    defget_proxies_list(num):res=requests.get(url=f"http://api.89ip.cn/tqdl.html?api=1&num={num*2}&port=&address=&isp=").textip_list=re_method(res,"<br>(.*?)<br>")proxies_list=[]foriin......
  • Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现
    1.概述在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能如图:2.Launcher3单层模式workspace中app列表页排序功能实现的核心......
  • TCP_MSS_OPTIONS_02:在SYN段中无操作和选项列表结束选项
    测试目的:本测试用例的目的是验证DUT(被测试设备)在接收到SYN段中包含多个NoOperation(NO-OP)选项和一个EndofOptionsList(EOL)选项时,是否能够正确处理这些选项并成功建立TCP连接。描述:在TCP连接建立过程中,SYN段用于发起一个新的连接。除了用于协商参数的选项,如MSS,SYN段还可......
  • Android实现列表ListView
    首先是创建一个基础的item组件<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="matc......
  • 类和对象(下+)_const成员、初始化列表、友元、匿名对象
    类和对象(下+)文章目录类和对象(下+)前言一、const成员二、友元1.友元函数2.友元类三、初始化列表四、explicit关键字五、匿名对象总结前言static成员、内部类、const成员、初始化列表、友元、匿名对象一、const成员将const修饰的“成员函数”称之为const成员函数......
  • 树开下拉列表数据源生成
    改自这位兄台的一段代码https://www.cnblogs.com/xiayang/archive/2010/07/19/1780566.html 1///<summary>2///生成一个树形的表样,3///</summary>4///<paramname="dtNodeSets">菜单记录数据所在的表</param>5///<paramn......
  • C++全栈聊天项目(20) 聊天列表动态加载
    聊天列表动态加载如果要动态加载聊天列表内容,我们可以在列表的滚动区域捕获鼠标滑轮事件,并且在滚动到底部的时候我们发送一个加载聊天用户的信号boolChatUserList::eventFilter(QObject*watched,QEvent*event){//检查事件是否是鼠标悬浮进入或离开if(wat......
  • NOIP 2015 T1 骑士的金币(coin)
    描述国王将金币作为奖励,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士......
  • C++入门 初始化列表 & 隐式类型转换
    目录初始化列表构造函数体赋值初始化列表格式初始化列表特性每个成员变量在初始化列表中只能出现一次类中以下成员必须初始化尽量使用初始化列表初始化数组初始化 声明次序就是初始化顺序多参数初始化列表再谈隐式类型转换拷贝引用explicit关键字定义用法缺......
  • 多选列表用法
    文章目录知识回顾使用方法示例代码我们在上一章回中介绍了扩展内容相关的知识,本章回中将介绍单选列表和复选列表.闲话休提,让我们一起TalkFlutter吧。知识回顾我们在本章回中将介绍单选和复选列表,它们是常用的组件,不只在移动平台中使用,在其它平台上也经常被使用,......