gpt4 book ai didi

javascript - 无法检查数组中的重复项

转载 作者:行者123 更新时间:2023-11-29 19:23:13 25 4
gpt4 key购买 nike

我知道这个问题已被多次询问,但我所看到的答案都没有帮助。这就是我的问题。

我有一个数组,它根据从列表中选择的内容动态填充。有时,被压入的数组值会有多个相同的值。我想获取该数组的值,查找该值是否已存在于数组中,并将其推送到新数组。我有两个默认为空的全局数组。

//Global arrays
var water_pipes_size_array = [];
var new_water_pipes_size_array = [];

water_pipes_size_array 的示例如下所示:[0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 8, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

我想做的是搜索这个数组并找到任何重复值并将它们插入 new_water_pipes_size_array。但是,我所拥有的不起作用。我仍然得到一个空数组。

for(var j = 0; j < water_pipes_size_array - 1; j++){
if(water_pipes_size_array[j + 1] == water_pipes_size_array[j]){
new_water_pipes_size_array.push(water_pipes_size_array[j]);
}
}
console.log(new_water_pipes_size_array);

任何人都可以告诉我我做错了什么并提供一些关于如何解决它的反馈吗?

最佳答案

我认为您的意思是将 water_pipes_size_array.length 放在您的 for 循环中,而不是 water_pipes_size_array。此外,由于您从 0 开始,因此不需要减去 1:

for(var j = 0; j < water_pipes_size_array.length; j++){
if(water_pipes_size_array[j + 1] == water_pipes_size_array[j]){
new_water_pipes_size_array.push(water_pipes_size_array[j]);
}
}

虽然逻辑完全错误。如果您只想消除重复项,请尝试以下操作:

for (var j = 0; j < water_pipes_size_array.length; j++) {
if (new_water_pipes_size_array.indexOf(water_pipes_size_array[j]) == -1) {
new_water_pipes_size_array.push(water_pipes_size_array[j]);
}
}

关于javascript - 无法检查数组中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com