【发布时间】:2019-07-15 03:45:19
【问题描述】:
我有一个函数可以在 javascript 中删除两个数组之间的非公共元素,但问题是我的代码减少了数组中的一些项目并增加了一些。下面是我的代码
function canFormPairs(cleanSocks, dirtySocks) {
let compared = [];
cleanSocks.forEach(item => {
dirtySocks.forEach(dItem => {
if (item == dItem) {
compared.push(item);
}
});
});
return compared;
}
console.log(canFormPairs([1, 5, 6, 7, 5, 6, 5, 56], [1, 5, 6, 7, 8, 5, 6, 7, 8, 78]));
上面的代码给出了
[ 1, 5, 5, 6, 6, 7, 7, 5, 5, 6, 6, 5, 5 ]
而不是期望的结果
[1, 1, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7]
排序后
请问这段代码有什么问题
【问题讨论】:
-
你是对的,但这不是这里的问题
-
我只是想了解是否有什么我不明白的地方,然后才能跳出来回答
-
好吧。会编辑
-
现在会在片场阅读。谢谢。但是这个算法有什么问题
-
位置重要吗?左组有 2 个五,右组有 1 个 5 有关系吗?
标签: javascript arrays