繁体   English   中英

(Javascript)如何使用布尔值从数组中查找唯一值并将其放入另一个值?

[英](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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM