因此,假设我的第一个数组(arrayOne)的值为[1,2,3,3,4,2]。我需要将此数组与另一个数组进行比较以检查重复值(arrayTwo),然后显示这些值。
因此,最终输出将是:1,2,3,4。
问题是我只能使用非常基本的方法,几乎只是布尔值,多个函数和循环。
我怎么能这样做?搜索互联网会产生与此类似的代码:
for (a = 0; a < array1.length; a += 1) {
for (b = 0; b < array2.length; b += 1) {
if (array1[a] !== array2[b])
array2 = array1
}
}
}
output = array2
......等等,但这对我来说似乎没有用(注意我的代码并不完全像这样,但在搜索之后,这似乎接近我正在寻找的东西)。
有什么建议吗?
答案 0 :(得分:0)
在内部循环中检查当前项是否等于数组中的项。如果是,break
内循环。如果b === array2.length
,请检查外部循环。在这种情况下,相等意味着循环结束而没有中断,这意味着 - 不是重复。在这种情况下,将当前项目推送到array2
。
var array1 = [1, 2, 3, 3, 4, 2];
var array2 = [];
var a,b;
for (a = 0; a < array1.length; a += 1) {
for (b = 0; b < array2.length; b += 1) {
if (array1[a] === array2[b]) break;
}
if(b === array2.length) array2.push(array1[a]);
}
console.log(array2);
&#13;
答案 1 :(得分:0)
我不确定理解你的问题,但我认为你想要返回初始数组而没有重复的值。
let array = [1, 2, 3, 3, 4, 2];
function removeDuplicates(input) {
let result = [];
for (i = 0; i < input.length; i++) {
let currentValue = input[i];
if (result.indexOf(currentValue) == -1) {
result.push(currentValue);
}
}
return result;
}
console.log(removeDuplicates(array));
Here你可以找到更多的实现。