在JavaScript中,可以使用数组的内置方法和操作符来实现数组交集和数组并集。
数组交集可以使用数组的filter()
方法和includes()
方法实现。首先使用filter()
方法筛选其中一个数组中的元素,然后使用includes()
方法判断另一个数组是否包含该元素,如果包含,则将其加入结果数组。代码示例:
const array1 = [1, 2, 3, 4];
const array2 = [3, 4, 5, 6];
const intersection = array1.filter(num => array2.includes(num));
console.log(intersection); // [3, 4]
而数组并集则可以使用concat()
方法和Set
数据结构实现。concat()
方法用于将两个数组合并成一个数组,然后使用Set
数据结构去重,最后再将其转化为数组。代码示例:
const array1 = [1, 2, 3, 4];
const array2 = [3, 4, 5, 6];
const union = Array.from(new Set(array1.concat(array2)));
console.log(union); // [1, 2, 3, 4, 5, 6]
其中Array.from()
方法用于将Set
数据结构转化为数组。同时,也可以使用展开运算符...
来实现:
const union = [...new Set(array1.concat(array2))];
需要注意的是,使用Set
数据结构虽然可以去重,但不能保证顺序。如果需要保持数组顺序不变,可以使用其他算法实现数组并集。