![](/img/trans.png)
[英]Find in first array values and then change them with values from another array
[英](Javascript) How to find unique values from an array and put them into another using booleans?
假设我有第一个数组[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
...依此类推,但这似乎对我不起作用(请注意,我的代码并非完全像这样,但是在搜索后,这似乎与我要查找的内容接近)。
有什么建议吗?
在内部循环中,检查当前项是否等于数组中的项。 如果是,请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);
我不确定是否理解您的问题,但是我想您想返回初始数组而没有重复的值。
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));
在这里您可以找到更多的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.