【发布时间】:2014-12-23 15:20:07
【问题描述】:
我有 2 个数组可以说:
A = [1,2,3,4,5] and B = [1,2,3,6,7]
我想执行以下“集合计算”:
C = (A ∩ B)
D = A - (A ∩ B)
E = B - (A ∩ B)
基本上:
C = [1,2,3]
D = [4,5]
E = [6,7]
有没有一种聪明的方法可以做到这一点,还是我必须用循环和 if 交叉检查每个数组成员?我无法使用外部库(如 math.js 或 w/e)。
提前致谢。
【问题讨论】:
-
由于您不能使用外部库,看来您将不得不依赖大量原始 for 循环或编写自己的小型库。无论哪种方式,您都将使用 for 循环。希望这不是家庭作业。
-
不,这不是家庭作业,它与工作有关,我不想仅仅为了 3 行代码就将整个外部库添加到我们的 SVN 项目中。我可以想办法得到我想要的结果我只是想在这里要求一个更优雅的解决方案。另外,我以前不需要对数组使用集合论,所以我认为在这里学习一些东西以备后用是个好主意。
标签: javascript arrays union intersection set-theory