javascript - 获取 typescript 中单独数组、AddedList和RemovedList中两个数组之间的差异

标签 javascript arrays typescript

我是 typescript 新手,我想找到一种正确的方法来解决我的问题。 所以我有两个数组 A 和 B,我需要找到两个数组相对于数组 A 之间的差异,并在单独的数组中返回结果,其中 addArray 是什么,removedArray 是什么 例如:

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

寻找快速而优雅的方式

最佳答案

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 });

引用文献:

关于javascript - 获取 typescript 中单独数组、AddedList和RemovedList中两个数组之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55251964/

相关文章:

javascript - 如果 Accordion 的内部过滤器使用 anchor 标记,如何打开 Accordion

javascript - 如何在 CodeMirror 中触发键盘事件?

arrays - 在 Ruby 中对具有相似模式的字符串进行分组

node.js - "require(x)"和 "import x"的区别

如果 localStorage 值存在而无需重新加载页面,则 Javascript 添加类

javascript - 当子项中的变量发生变化时更新父项 - Angular

javascript - Chrome/WebKit XHR 文件上传

javascript - jquery-datatables 多列排序方向

c++ - PrintTheArray 函数不打印

javascript - 数组 .filter 和 .map OR .map 与 if 条件