## 1.比较删除去重
jsfor (var i = 0; i < arr.length; i++) { arr[i]
//就是数组内的每一个数据 arr[0] === 1
//从 [1] 开始向后查找, 只要后面还有 1 这个数据, 那么把后面的删除了
//不确定后面还有几个 1, 只要有一个就要删除一个
//当后面还有 1 的时候, 就删除一个, 否则继续循环 i++ var n = i + 1
while (n < arr.length) { if (arr[i] === arr[n]) { arr.splice(n, 1) i-- } n++ } }``````
2.includes()方法
语法: 数组.includes(数据)
作用: 判断数组内是否有该数据
代码部分:
for (var i = 0; i < arr.length; i++) {
js
// arr[i] 是数组内的每一个数据
// 如果从 arr[1] 开始后面还有 1 这个数据, 那么删除一个
if (!newarr.includes( arr[i] )) {
newarr.push(arr[i])
}
}
console.log('去重之后 : ', newarr)```
3.使用 sort 排序
判断紧挨着的两个是否一样,
如果一样, 删除一个
var arr = [ 1, 2, 3, 4, 10, 3, 2, 11, 1, 3, 4, 2, 11, 1, 10, 5, 6, 4, 3, 2, 5, 9 ]
console.log('原始数组 : ', arr)
arr.sort()
console.log('排序之后 : ', arr)
// 遍历
for (var i = 0; i < arr.length; i++) {
// // 判断当前和下一个一样
// 判断当前和下一个一样
if (arr[i] === arr[i + 1]) {
arr.splice(i, 1)
i--
}
}
console.log('去重之后 : ', arr)
4.使用set集合实现
var s=new Set()
var arr=[1,2,3,4,5,1,2,3,4,1,3,2];
arr=Array.from(new Set(arr));
console.log(arr)
5.借助对象方式来实现
var arr = [ 1, 2, 3, 4, 10, 3, 2, 11, 1, 3, 4, 2, 11, 1, 10, 5, 6, 4, 3, 2, 5, 9 ]
console.log('原数组 : ', arr)
var obj = {}
for (var i = 0; i < arr.length; i++) obj[ arr[i] ] = '。'
// 把对象内的每一个索引当做 数据 插入到数组内
var newarr = []
for (var k in obj) {
newarr.push(k - 0)
}
console.log(newarr)
未完待续