# 怎么用JS求两个数组的交集 在JavaScript中,求两个数组的交集(即找出两个数组中共同存在的元素)是常见的需求。以下是几种实现方法: ## 1. 使用filter和includes方法 ```javascript function getIntersection(arr1, arr2) { return arr1.filter(item => arr2.includes(item)); } const arrA = [1, 2, 3]; const arrB = [2, 3, 4]; console.log(getIntersection(arrA, arrB)); // 输出: [2, 3]
function getIntersectionFast(arr1, arr2) { const set = new Set(arr2); return arr1.filter(item => set.has(item)); }
const intersection = (a, b) => a.filter(x => new Set(b).has(x));
注意事项: - 上述方法会保留重复元素,如需去重可在外层再套用new Set()
- 时间复杂度:普通方法O(n²),使用Set优化为O(n) - 对引用类型元素需要特殊处理(比较内存地址)
选择哪种方法取决于具体场景和数据规模。对于小型数组,第一种方法最直观;处理大型数组时推荐使用Set优化版本。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。