可以使用 ES6 的 Set 数据结构来实现数组交集。
首先,将一个数组转化为 Set,然后遍历另一个数组,将数组中存在于 Set 中的元素存入结果数组中。
以下是一个示例代码:
function intersection(nums1, nums2) {
const set1 = new Set(nums1);
const res = [];
for (let num of nums2) {
if (set1.has(num)) {
res.push(num);
}
}
return res;
}使用示例:
const nums1 = [1, 2, 2, 1];
const nums2 = [2, 2];
console.log(intersection(nums1, nums2)); // [2]该算法的时间复杂度为 O(m+n),其中 m 和 n 分别为两个数组的长度。