📜  diff 两个数组 javascript (1)

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

比较两个数组的差异

在 JavaScript 中,我们可以使用 diff 方法来比较两个数组的差异。

使用方法

我们可以通过调用两个数组的 diff 方法来比较它们之间的差异。这个方法返回的是一个新的数组,包含两个数组之间的差异部分。具体使用方法如下:

const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];

const diff = array1.diff(array2);

console.log(diff);

上述代码将输出 [1, 2, 6, 7],即 array1array2 之间不同的元素。

实现方法

为了实现 diff 方法,我们需要在 Array 的原型上添加一个新的方法。这个方法将会遍历两个数组,比较它们之间不同的元素,并将其放入一个新的数组中。具体实现如下:

Array.prototype.diff = function (arr) {
  return this.filter(item => !arr.includes(item)).concat(arr.filter(item => !this.includes(item)));
}

上述代码中,我们从 this 中先去除 arr 中存在的元素,再将 arr 中去除 this 中存在的元素,最后将这两个数组合并起来。这样就可以得到不同的元素了。

总结

通过这个例子,我们学习了如何比较两个数组之间的差异。这个方法对于数组操作非常有用,可以帮助我们快速找到不同的元素,并进行相应的操作。