javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js筛选出两个数组相同的值

js之如何筛选出两个数组相同的值

作者:前端代码の搬运工

这篇文章主要介绍了js之如何筛选出两个数组相同的值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

js筛选出两个数组相同的值

 let arr1 =[1,2,3]  //跟
 let arr2 =[4,6,5]  //子
 let arr3 =[1,2,6]  //根子都有
 let frist =arr3.filter(item=> arr1.indexOf(item)>-1) //跟
 let frist1 =arr3.filter(item=> arr2.indexOf(item)>-1)//子
 console.log(frist)
 console.log(frist1)

筛选两个数组相同id,并过滤多余数据

第一个数据格式

[
 {id: 129465, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
 {id: 129465, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
 {id: 129464, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
{id: 129464, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
{id: 129424, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
{id: 129424, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
 {id: 129423, label: 0, labelName: "无", labelStatus: null, relateType: 2, …},
]

第二个数据格式

[129464,129424,129423]

解决:

 let map = new Map();
        for (let item of 第一个数据) {
            if (!map.has(item.id)) {
                map.set(item.id, item);
            };
        };
        let value = [...map.values()].filter(item => 第二个数据.includes(item.id))

这里 value 就是我们要处理的数据

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文