gpt4 book ai didi

javascript - 为什么 if 语句会阻塞在 while 循环中?

转载 作者:行者123 更新时间:2023-11-28 11:29:42 26 4
gpt4 key购买 nike

我有一个数字数组,其中有很多重复项。我需要摆脱它们,所以我输入了代码:

  let dup = arr.filter((elem, pos)=> arr.indexOf(elem) !== pos);
// dup Array contains the duplicate numbers
arr = arr.filter((elem, pos)=> arr.indexOf(elem) == pos);
//arr contains the whole array with duplicates
let i = 0;
let j = 0;
while(i<arr.length){
while(j<dup.length){
if(arr[i] == dup[j]){
arr.splice(i, 1);
//the splice method resets the decrease the index of the array so
i--;
};
j++;
};
i++
}

问题是 if 在第一个匹配之后没有运行。因此数组 splice 它找到的第一个重复项并停止。我该如何解决这个问题?

最佳答案

来自Get all unique values in a JavaScript array (remove duplicates)

const myArray = ['a', 1, 'a', 2, '1'];

const unique = [...new Set(myArray)];

// output ["a", 1, 2, "1"]

或者作为一个函数

const unique = [...new Set(myArray)]

关于javascript - 为什么 if 语句会阻塞在 while 循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56542643/

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