:::info 数值去重 ::: 基本逻辑——双重for循环
代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title> </title></head><body><script>//数组去重案列let arr = [1, 3, 5, 8, 3, 4, 5, 6, 4, 6, 7, 2, 3, 0, 4, 5, 7, 8, 6, 1, 4, 5, 6]//1. 声明一个新数组来接收新数据let newArr = []for (let i = 0; i < arr.length; i++) {let flag = '开' //3.开关的概念,当进入外层循环,flag一直是false//2.将数组arr里面的所有元素去跟新数组newArr里面的每一个元素进行比较for (let j = 0; j < newArr.length; j++) {//4. 如果有一个元素相同了,就表示新数组里面有这个元素if (arr[i] === newArr[j]) {flag = '关' //5. 当我们找到一个相同的数之后,就将flag改成true,然后退出当前循环层次的for循环(里层for循环)break}}//6. 里层循环完成之后,flag还是false的时候,就表示我们没找到相同的元素,即需要把这个元素加入新数组(如果内层的for循环里面的flag='关'成立,则不会执行下面的if语句)if (flag === '开') {newArr.push(arr[i])}}console.log(newArr);</script></body></html>
效果

