📜  数组交集 javascript es6 - Javascript (1)

📅  最后修改于: 2023-12-03 15:10:22.227000             🧑  作者: Mango

数组交集:Javascript ES6

在Javascript中,寻找数组之间的交集是一个基本的编程问题。在本文中,我们将简要介绍如何使用ES6的新特性来寻找两个数组之间的交集。

第一种方法:使用filter()和includes()函数

在ES6中,我们可以通过filter()函数和includes()函数来计算两个数组的交集。具体来说,我们可以使用filter()函数将数组的每个元素迭代到新数组中,并使用includes()函数来检查另一个数组是否包含了该值。以下是一个实现示例:

const array1 = [1, 2, 3, 4, 5];
const array2 = [2, 4, 6, 8];
const intersection = array1.filter(value => array2.includes(value));
console.log(intersection); // [2, 4]

以上代码中,我们将两个数组赋值给array1和array2,然后我们使用filter()函数对array1数组进行迭代,并使用includes()函数检查array2数组中是否存在相同的值。然后,我们将交集存储在intersection数组中,并将其打印到控制台上。

第二种方法:使用Set和filter函数

在ES6中,我们还可以使用Set数据结构来查找两个数组的交集。Set是一种类似于数组的数据结构,它只存储唯一的值。因此,使用Set可以轻松地从两个数组中提取唯一的值,然后使用filter()函数来计算交集。以下是一个实现示例:

const array1 = [1, 2, 3, 4, 5];
const array2 = [2, 4, 6, 8];
const set1 = new Set(array1);
const intersection = array2.filter(value => set1.has(value));
console.log(Array.from(intersection)); // [2, 4]

以上代码中,我们将两个数组分别赋值给array1和array2,并将array1转换为Set数据结构。然后,我们使用filter()函数来检查array2数组中是否存在已经在set1中存在的值,并将结果存储在intersection数组中,最后通过Array.from方法将结果转化为数组并打印到控制台上。

总结

在本文中,我们介绍了两种使用ES6查找数组交集的方法。我们可以使用filter()和includes()函数或者Set数据结构来计算交集。使用这两种方法都可以轻松地查找数组交集,并且代码更具可读性和可维护性。