两种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>

  

posted @ 2016-09-24 09:06  Terre  阅读(742)  评论(0编辑  收藏  举报

风光无限好