首页 > 代码库 > 两种js数组去重的方法

两种js数组去重的方法

方法一:

新建一个数组,遍历原数组,在新数组内用IndexOf查找原数组内的每一项,如果没有找到,则添加到其中

代码如下:

function arrayNew(arrs ){     var  newArray = [];      for(var i=0;i<arrs.length;i++){         if(newArray.indexOf){            if(newArray.indexOf(arrs[i])==-1){newArray.push(arrs[i])}}  else{        if(indexOf(arrs[i],newArray)==-1){newArray.push(arrs[i])}}}   return newArray   }

 方法二:对象键值法---性能最优

<script>  		function arrayUnik(arrs){			var newArray = [];			var hash={};			if(arrs.length>0){				for(var i=0;i<arrs.length;i++){					if(!hash[arrs[i]]){						hash[arrs[i]]=1;						newArray.push(arrs[i]);											}else{						console.log(hash[arrs[i]]);					}				}			}			return newArray;		}		var arrs = [4,5,2,2,6,2,8,6];		arrayUnik(arrs);		alert(arrs.length);		alert(arrayUnik(arrs))  </script>

  

两种js数组去重的方法