在打字稿中获取两个数组之间的区别,分别为数组AddedList和RemovedList

时间:2019-03-20 00:39:53

标签: javascript arrays typescript

我是打字机的新手,我想找到解决问题的正确方法。 所以我有两个数组A和B,我需要找到两个相对于数组A的数组之间的差异,并在单独的数组中返回结果,分别是addArray和removeArray 例如:

A = [1, 2, 3, 4];
B = [1, 5, 6, 7];
addArray =[5,6,7]
removedArray =[2,3,4]

寻找快速优雅的方式

1 个答案:

答案 0 :(得分:2)

const A = [1, 2, 3, 4];
const B = [1, 5, 6, 7];
const difference = (left, right) => {
  let a = new Set(left);
  let b = new Set(right);
  return [...a].filter(x => !b.has(x))
}
const addArray = difference(B, A);
const removedArray = difference(A, B);

console.log({ addArray, removedArray });

参考文献: