JS 比较两个数组差异的方法

在开发过程中,我们有时需要对两个的数组进行差异的比较,并将差异变成一个新的数组,我们可以使用简单的方法实现。

差异比较方法:
const getArrDifference = (arr1, arr2) => {
  return arr1.concat(arr2).filter((v, i, arr) => {
    return arr.indexOf(v) === arr.lastIndexOf(v);
  })
}
演示示例:
const getArrDifference = (arr1, arr2) => {
  return arr1.concat(arr2).filter((v, i, arr) => {
    return arr.indexOf(v) === arr.lastIndexOf(v);
  })
};
const list = [1, 2, 3, 4, 5]
const list2 = [1, 2, 3, 5]
const list3 = [1, 3, 5]
const list4 = [1, 2, 4]
console.log(getArrDifference(list,list2)); //[4]
console.log(getArrDifference(list3.list4));//[3,5,2,4]

这里我仅对简单的数组元素进行了验证,而比较复杂的数组元素的差异比较可能需要进行改动

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐