谈谈下数组去重的方法

##在我们前端的学习中经常要用到数组的一些方法,比如数组去重,现在我们就来简单的看下有哪些方法能够实现
1.Set 集合es6中新增数据类型

var arr=[1,1,22,3,3,4]
newArr=[...new Set(arr)]
console.log(newArr); //[1,22,3,4]
``

2.冒泡法实现数组去重

var arr=[1,1,22,3,3,4]
 arr.sort(function(a,b){
     return a-b
 })  //数组排序目的是把相同的元素放到一起
var newArr=[]
for(var i = 0;i<arr.length;i++){
 if(arr[i]!=arr[i+1]){
     newArr.push(arr[i])
 }
}
console.log(newArr);//[1,3,4,22]

3.对象法数组去重
原理:对象的属性名不能重复

 var arr=[1,1,22,3,3,4]
var obj={}//声明空对象
var newArr=[]//声明空数组
for(var i = 0;i<arr.length;i++){
  if(obj[arr[i]]==undefined){  //属性名不存在则取出undifined
     newArr.push(arr[i])
     obj[arr[i]]=1 //对象的赋值
  }
}
console.log(newArr);//[1,22,3,4]

还有一些方法就不一一列举了,欢迎大佬补充

你可能感兴趣的:(javascript)