数组去重的两种方法

方法一:用关联数组的方式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>数组去重</title>
</head>
<body>
	<script type="text/javascript">
	//使用关联数组的方式
   function tow(arr){
         for(var i =0 , hash = [],result = [] ; i<arr.length;i++)
         {//遍历arr,从0开始,同时创建hash空数组,再创建一个resul空数组
         	if (hash[arr[i]]===undefined ) {
         		//把arr数组中的元素和hash关联数组的自定义下表名称,逐个去比较,
         		//如果arr中的i个元素与当前hash数组的当前的自定义下标不一样,程序就会自动返回undefined
         		result[result.length]= arr[i];
         		// 如果返回undefined,就把arr中当前的i元素赋值给当前的hash数组
         		hash[arr[i]] = "我是哈希数组里面的数呀";
         	}
         }
         return result;

    }


 
   var arry = [1,2,7,8,7,74,5,2,7,4,];
console.log(tow(arry))
   </script>
</body>
</html>

方法二:创建一个新数组,arr每想向result中放入一个元素就和result中的元素进行比较

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>数组去重</title>
</head>
<body>
	<script type="text/javascript">
   function tow(arr){
    var repeat = arr[0];
    var result = [];
    //i从0开始遍历arr,同时创建空数组resu()没有重复的元素放入这个数组
    for(var i = 0; i<arr.length;i++){

    // 遍历resul j从0开始
   	 for(var j=0;j<result.length;j++)
   { //如果result中的当前元素等于arr中的当前元素
     	if (result[j] == arr[i]) {
       	break;//退出循环  
       	 }
   }
       // 如果j等于result的长度
        if (j==result.length) {
       			result[result.length] = arr[i];
                              }
      //江arr中当前元素,最佳到result末尾
   }
         return result;

    }


 
   var arry = [1,2,7,8,7,74,5,2,7,4,];
console.log(tow(arry))
   </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值