【JavaScript】 数组中去掉重复数字

版权声明: https://blog.csdn.net/qq_36652405/article/details/80379532


JavaScript中数组出现重复数字该如何删除呢?请看下面代码(注释很详细),为了更好地理解我画了个图:


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		
		<title>问题:数组中有重复数字怎么去掉?</title>
		
		<script type="text/javascript">
			
			//定义一个长度为9的数组
			
			var a=[1,3,1,1,2,4,3,5,5];
			
			console.log(a);
			
			//该循环遍历了a数组的元素
			
			for(var i=0;i<a.length;i++){
				
				//该循环遍历了后面要比较的元素
				
				for(var j=i+1;j<a.length;j++){
					
		//判断遍历出来的元素时候和比较的元素相等,如果相等,则删除后面的元素
		
					if(a[i]==a[j]){
						
					a.splice(j,1);
					
					j--;
					
//假设数组是这样的var a =[1,2,1,1,3]我开始进行比较,然后删除了索引为2的元素
//但是刚才删除了一个元素导致后面的元素索引会往前移一
//就变成这样a=[1,2,1,3]所以经过j++后,索引为3的元素往前移1索引就变成2了,索引为2的元素为1
//这样还是存在两个1
//所以为了防止删除后还出现相同的元素,所以我们j--,这样j++后我们还可以对当前索引再比较一次
	
					}
					
				}
			}
			
	console.log(a)
	
		</script>
	</head>
	<body>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_36652405/article/details/80379532