数组去重方法整理

本文介绍了三种去除数组中重复元素的方法:for循环法,通过遍历数组并比较元素来创建新数组;hash数组法,利用对象的属性不存在则返回undefined的特性,将元素作为新数组的下标;以及在不改变原数组的基础上进行操作的方法,通过检查已遍历的元素避免重复。
摘要由CSDN通过智能技术生成

数组去重方法整理


数组去重看似一个简单的问题,随着我们的学习,对于新知识的掌握这个曾经困着我们的问题逐渐变得游刃有余。要去重,中心解决办法就是比较该数组中是否重复的元素,而后将重复的元素去掉。以下带来几个楼主折磨自己中研究出的一点方法~~

方法一

for循环法~~
思路:将数组中的每一个数与数组中其他的数进行比较,看是否有相同的。如果没有相同的那么该数即直接放到新数组里。新的数组中就是无重复的数组。

实例:
function solution1(){
   		var arr = [1,1,1,3,4,3,4,6,8,3,1,2];
   		var res = [];
   		for(var i = 0; i < arr.length; i ++){              // 第一层for用来控制循环的次数
   			for(var j = 0; j < i; j++){          //第二层for 用于控制与第一层比较的元素
   				if(res[j] == arr[i])
   					break;
   			}
   			//注:关键:没有吧后面的IF放入循环,所以第一次会循环进if(res.length == j),让res有一个初始的值。
   			if(res.length == j)                     //这个的思路比较巧妙,意思是:当该数比较到最后一位都没有数与它相等,那么直接可以表明这个数在该数组中没有重复的,可以直接输出。res[res.length] = arr[i];
   		}
   		document.writeln( res);
   	}
   	solution1();
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值