千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

var arr = [1, 1, 1, 2, 3, 2, 1, 3, 4, 4, 4, 3, 2, 5, 5]
方法一: 双层for循环
i = 0 k = 1
arr[0] == arr[1] 删除 arr[1] k--
[1,1, 2, 3, 2, 1, 3, 4, 4, 4, 3, 2, 5, 5]
k = 1
arr[0] == arr[1] 删除 arr[1] k--
[1,2, 3, 2, 1, 3, 4, 4, 4, 3, 2, 5, 5]
for (var i = 0; i < arr.length - 1; i++) {
for (var k = i + 1; k < arr.length; k++) {
if (arr[i] == arr[k]) {
// 表示后面有跟arr[i] 相等的 那么就要删除
// 删除k
arr.splice(k, 1)
k--
}
}
}
方法二:先进行排序 再进行去重
arr.sort(function (a, b) {
return a - b
})
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] == arr[i + 1]) {
arr.splice(i + 1, 1)
i--
}
}
console.log(arr)
方法三: 利用对象key值是唯一的
var obj = {}
for (var i = 0; i < arr.length; i ++){
// arr[i]
obj[arr[i]] = 'ikun'
}
console.log(obj)
var newArr = []
for(var key in obj){
newArr.push(key - 0 )
}
console.log(newArr)
方法四 利用数组
var newArr = []
for (var i = 0; i < arr.length; i ++){
newArr[arr[i]] = 'ikun'
}
console.log(newArr)
方法五 利用一个新数组
var newArr = []
for (var i = 0; i < arr.length; i++) {
// 判断newArr 有没有当前这个值 没有才进行push
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i])
}
}
console.log(newArr)