在没有库的情况下在 JavaScript 中查找数组交集
要在不使用其他库的情况下确定两个数组的交集,请考虑实现以下内容代码:
解决方案:
结合使用 Array.prototype.filter 和 Array.prototype.includes 方法:
const filteredArray = array1.filter(value => array2.includes(value));
说明:
此代码过滤元素array1 的值取决于它们是否也存在于 array2 中。 include 方法检查数组中是否存在元素。因此,结果是一个仅包含两个输入数组共有的元素的数组。
对于旧版浏览器:
如果使用不支持的旧版浏览器箭头函数或包含,以下代码可以使用:
var filteredArray = array1.filter(function(n) { return array2.indexOf(n) !== -1; });
注意事项:
需要注意的是,include 和indexOf 都使用严格相等(===)执行比较。如果数组包含对象,则仅比较对象引用。为了适应自定义比较逻辑,请改用 Array.prototype.some。
以上是如何在不使用外部库的情况下找到两个 JavaScript 数组的交集?的详细内容。更多信息请关注PHP中文网其他相关文章!