JavaScript 数组去重

本文介绍并展示了两种常见的数组去重技巧。方法一利用hash数组存储元素,避免重复;方法二通过双层循环检查元素唯一性。两种方法各有优劣,适用于不同场景。

数组去重在实际运用中是经常会使用到的一个技巧,下面是两种不同的实现方法:

// 数组去重一:
		function fun1 () {
			// 定义数组存储带去重数据
			var arr = [1,1,1,3,4,3,4,6,8,3,1,2];
			document.writeln(arr + "<br>" );
			// 定义一个hash数组去除重复的元素,res数组存储出去重复元素后的新数组
			for(var i = 0, hash = [], res = []; i < arr.length; i++){
				// 判断hash数组中是否已存在该下标的值
				if(hash[arr[i]] === undefined){
					res[res.length] = arr[i];
					hash[arr[i]] = true;
				}
			}
			document.writeln("方法一:" + res + "<br>");
		}
		fun1();
		// 数组去重二:
		function fun2(){
			// 定义数组存储带去重数据
			var arr = [1,1,1,3,4,3,4,6,8,3,1,2];
			// 定义一个新数组存储去重后的数据
			var res = [];
			// 外层循环控制arr数组元素进入内层循环校验
			for(var i = 0; i < arr.length; i ++){
				// 内层循环便利比较与arr数组元素的值
				for(var j = 0; j < res.length; j++){
					// 判断若出现于res相同的arr元素则跳出当前内层循环
					if(res[j] == arr[i])
						break;
				}
				// 内层循环结束未出现重复的 即可给新数组res赋值arr的元素
				if(res.length == j)
					res[res.length] = arr[i];
			}
			document.writeln("方法二:" + res);
		}
		fun2();
效果显示:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值