JavaScript 筛选两个数组相同值的方法

作者:纸飞机时间:2026-10-30 21:06:44浏览:204

本文介绍在JavaScript中如何高效筛选两个数组的相同值。通过示例展示了基础数组的交集获取,以及针对复杂对象数组,利用Map对象进行去重并结合filter方法匹配ID的实现方案,帮助开发者处理实际业务中的数据过滤需求。

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

 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 就是我们要处理的数据

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

总结

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

作者最新文章