废话不多说,先上去重代码,贼简单
const arr = [5, 8, 7, 5, 5, 5, 1, 6, 3, 4, 9, 97, 1, 2, 6, 48, 15, 4, 7, 12, 5, 4, 1, 5, 74, 41, 52, 7, 1, 5, 74, 1]
const newArr = []
for (let i = 0; i < arr.length; i++) {//循环遍历每一个
if (!newArr.includes(arr[i])) {//判断新数组包含就数组里的每一个么,取反
newArr.push(arr[i])//添加到新数组
}
}
冒泡排序
for (let i = 0; i < newArr.length; i++) {//循环遍历数组拿到每一个 从索引0开始 外循环
for (let j = i + 1; j < newArr.length; j++) {//循环遍历 拿到第二个从索引i+1
if (newArr[i] > newArr[j]) {//外层每一个和里层的每一个比较,大的往前放,外层循环一次,里层循环数组长度-1次,
[newArr[i],newArr[j]]=[newArr[j],newArr[i]] //记住右侧赋值左侧,实现互换位置//如果是前面有代码记得加;哈不然报错
}
}
}
console.log(newArr);
冒泡排序里面交换位置,老写法
for (let i = 0; i < newArr.length; i++) {//循环遍历数组拿到每一个 从索引0开始 外循环
for (let j = i + 1; j < newArr.length; j++) {//循环遍历 拿到第二个从索引i+1
if (newArr[i] > newArr[j]) {//外层每一个和里层的每一个比较,大的往前放,外层循环一次,里层循环数组长度-1次,
let max = 0 //声明一个临时变量,存newArr[i] 只有newArr[i]大才能进入判断
max = newArr[i]
newArr[i] = newArr[j] //这个里就是进行位置调换, 小的放到大的位置
newArr[j] = max //把大的位置放到之前小的位置 j的索引用于比i的大一位,每次进行换位就行
}
}
}
数组去重第三种方法,加上冒泡排序
于 2022-11-16 00:32:59 首次发布