我找到了很多解决这个问题的帖子:
假设我们有:
array1 = ['A', 'B', 'C', 'D', 'E']; array2 = ['C', 'E'];
是否有一种经过验证且快速的解决方案可以将两个数组相互比较,返回一个数组而没有出现在两个数组中的值(此处为 C 和 E)。所需的解决方案:
array3 = ['A', 'B', 'D']
但是如果你有:
array1 = ['A', 'B', 'C', 'D', 'D', 'E']; array2 = ['D', 'E'];
并且您正在寻找解决方案:
array3 = ['A', 'B', 'C', 'D'] // don't wipe out both D's
这是一些上下文:
你正试图教学生句子是如何工作的。你给他们一个乱七八糟的句子:
吃了——猫——老鼠——那个——那个
他们开始输入答案:猫
您现在希望提示阅读:
吃了——老鼠——
目前,我的代码取出了两个。
这是我尝试过的:
(zsentence 是 xsentence 的副本,将被下面的代码操作,join()ed 并放到屏幕上)
for (i=0; i < answer_split.length; i++) {
for (j=0; j < xsentence.length; j++) {
(function(){
if (answer_split[i] == xsentence[j]) { zsentence.splice(j,1); return; }
})();
}
}