确定 JavaScript 中两个数组之间的差异
简介:
确定两个数组之间的差异两个数组是 JavaScript 中的常见任务。差异可以定义为一个数组中存在但另一个数组中不存在的元素。本文提供了几种使用 JavaScript 的内置方法来实现此目的的方法。
交集和差集:
一种方法是使用 Array.prototype.includes()方法。它可用于查找两个数组之间的交集(公共元素)和差异。
交集:
let intersection = arr1.filter(x => arr2.includes(x));
此过滤器生成一个包含以下内容的数组: arr1 和 arr1 共有的元素arr2.
差异:
let difference = arr1.filter(x => !arr2.includes(x));
此过滤器创建一个数组,其中的元素仅存在于 arr1 中,而不存在于 arr2 中。
对称差异:
此外,人们可能希望确定两个数组之间的“异或”(对称差异),该数组由两个数组中的唯一元素组成。这可以通过组合两个数组的差异来获得:
let symDifference = arr1.filter(x => !arr2.includes(x)) .concat(arr2.filter(x => !arr1.includes(x)));
增强:
为了提高可用性,可以为 Array 定义自定义方法。允许直接在数组上使用的原型:
Array.prototype.diff = function(arr2) { return this.filter(x => !arr2.includes(x)); }
通过这一增强功能,人们可以轻松确定区别:
[1, 2, 3].diff([2, 3]) // [1]
以上是如何在 JavaScript 中找出两个数组之间的差异?的详细内容。更多信息请关注PHP中文网其他相关文章!