数组去重两种方法

  // 数组去重
       function  norepeat(arr){
       	for(var i=0,result=[];i<arr.length;i++){
       		// 循环遍历arr中的元素并创建一个新的空数组(用来存放结果)
       		for(var j=0;j<result.length;j++){
       			// 循环遍历用来放结果的数组,如果arr当前的元素等于result中的元素,则结束j
       			if(arr[i]== result[j]){
       				break;
       			}
       		}//j循环结束
       		// 如果result数组遍历完后,都没有找到相同的元素,这时j=reslut.length,将arr的当前元素追加到result中,i循环结束

       		if (j==reslut.length){
       			result[result.length]=arr[i]
       		}
       	}//i循环结束
       	return result
       }
       console.log(norepeat([6,5,40,1,25,6,1,40]))


		// 关联数组
		function uniuqe(arr){
			// 循环遍历arr数组,创建两个新数组 result(用来存放结果)hash(用来存放arr数组中的数据) 
			for(var i=0,result=[],hash=[];i<arr.length;i++){
			//如果hash数组中为空,就把arr放进result,同时给hash赋值
				if (hash[arr[i]]===undefined){
					result[result.length]=arr[i];
					hash[arr[i]]=true;
				}
			}
			return result;
		}
		console.log(uniuqe([6,5,40,1,25,6,1,40]))
发布了28 篇原创文章 · 获赞 2 · 访问量 2922

猜你喜欢

转载自blog.csdn.net/weixin_45725020/article/details/102999671
今日推荐