数组[2,3,5,4,3,2,6,8,5,4,6,2]去重,返回一个新数组[2,3,5,4,6,8](用函数)
双重for循环思路:
1、创建旧数组和新数组
2、遍历旧数组
3、遍历新数组
4、先判断如果新数组中的元素有相同的元素,就不放了
5、将旧数组中的元素放在新数组中
var arrOld = [2, 3, 5, 4, 3, 2, 6, 8, 5, 4, 6, 2]
var arrNew = []
var flag = true
for (var i = 0; i < arrOld.length; i++) {
flag = true
for (var j = 0; j < arrNew.length; j++) {
if (arrOld[i] == arrNew[j]) {
flag = false
}
}
if (flag) {
arrNew.push(arrOld[i])
}
}
console.log(flag)
console.log(arrNew)
利用对象属性不能重复的特性给数组去重 思路:
数组---有序的 对象---无序的
利用对象无序特征对数组去重思路:
数组->对象->数组
1、创建新数组
2、创建新对象
3、遍历旧数组
4、将旧数组中的元素当做新对象的属性名,属性值随意写
5、遍历新对象
6、将新对象中的属性当做新数组的元素即可
var arrOld = [2, 3, 5, 4, 3, 2, 6, 8, 5, 4, 6, 2]
var arrNew = []
var obj = {}
for (var i = 0; i < arrOld.length; i++) {
obj[arrOld[i]] = 'abcd'
}
for (x in obj) {
console.log(x)
arrNew.push(Number(x))
}
console.log(arrNew)