方法一:
双重for循环完成数组去重
每次循环 是 当前循环单元 和 之后的所有单元进行比较
如果 起始单元的数据 和 之后单元的数据 相同 删除 之后单元的数据
1, 外层循环 从第一个单元 至 倒数第二个单元
2, 内层循环 从 当前循环起始单元的下一个单元 至 最后一个单元
3, 如果 当前循环起始单元存储的数据 和 之后循环单元存储的数据相同
删除 之后循环的单元
代码如下:
假设数组如下所示
var arr = [1, 2, 3, 1, 5, 6, 4, 5, 6, 5, 8, 4, 6, 5, 4, 6, 5, 4, 1, 1, 6, 6, 4, 5, 1, 5, 4, 1, 5, 3, 5, 4, 5, 6,
4, 1, 4, 6, 5, 5, 6, 4, 1, 6, 5, 4, 5, 6
]
arr.sort(function (a, b) {
return (a - b)
})
for (var i = 0; i <= arr.length - 2; i++) {
for (var j = 1; j <= arr.length - 1; j++) {
if (arr[i] === arr[i + 1]) {
arr.splice(i + 1, 1)
}
if (arr[j] === arr[j + 1]) {
arr.splice(j + 1, 1)
}
}
}
console.log(arr)
方法二:
利用对象不能存储重复属性的特点(对象属性数组去重)
1.创建一个空对象 创建一个空数组
2,.循环遍历数组
将 数组单元的数据 作为 对象的属性 新增对象的单元
存储的数据是任意什么数据都可以
3.循环遍历对象 将 对象的属性作为数据 存储到空数组中
数组.push()
代码如下:
假设数组如下:
var arr = [1, 2, 3, 1, 5, 6, 4, 5, 6, 5, 8, 4, 6, 5, 4, 6, 5, 4, 1, 1, 6, 6, 4, 5, 1, 5, 4, 1, 5, 3, 5, 4, 5, 6,
4, 1, 4, 6, 5, 5, 6, 4, 1, 6, 5, 4, 5, 6
]
arr.sort(function (a, b) {
return (a - b)
})
var obj = {}
var arr1 = []
for (var i = 0; i <= arr.length - 1; i++) {
console.log(arr[i])
obj[arr[i]] = arr[i]
}
console.log(obj)
for (var key in obj) {
console.log(key)
// console.log(obj[key])
arr1.push(obj[key])
}
console.log(arr1)
看完了点个关注吧!!!!