在没有库的情况下查找数组交集
正在寻求一种简化的解决方案来计算 JavaScript 中数组的交集?本文探讨了一个在不依赖外部库的情况下提供此功能的代码片段。
问题:
我们如何编写以两个数组作为输入并返回两者中都出现的元素数组?
答案:
利用过滤器方法的力量,我们可以为这个问题创建一个简洁的解决方案:
const filteredArray = array1.filter(value => array2.includes(value));
这个代码过滤第一个数组,仅返回在第二个数组中也找到的元素array.
实现:
filter 方法迭代数组中的每个元素,并返回一个仅包含通过所提供条件的元素的新数组。在我们的例子中,条件使用includes方法检查当前元素是否包含在第二个数组中。
附加说明:
对于不支持的旧版浏览器箭头函数或包含:
var filteredArray = array1.filter(function(n) { return array2.indexOf(n) !== -1; });
请记住,include 和 indexOf 都使用严格相等进行比较。如果您的数组包含对象,则代码将比较对象引用而不是其内容。考虑使用 Array.prototype.some 进行自定义比较逻辑。
以上是如何在不使用库的情况下在 JavaScript 中查找两个数组的交集?的详细内容。更多信息请关注PHP中文网其他相关文章!