数组去重的几种方法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>数组去重</title>
</head>
<body>
	<script>
		// 2、数组去重方法(至少3种)
// var arr = [1,2,2,2,1,3,4,2,5];

// 方法一:

// 获取数组中的每一个元素
// for(var i=0;i<arr.length;i++){
// 	// console.log(arr[i]);
// 	// 获取当前元素后的每一个元素
// 	for(var j =i+1;j<arr.length;j++){
// 	// console.log("-------->"+arr[j]);
// 	// 判断两个元素的值是否相等
// 	if(arr[i]==arr[j]){
// 		// 如果相等则证明出现了重复的元素,则删除j对应的元素
// 			arr.splice(j,1);
// 			// 当删除了当前j所在的元素以后,后边的元素会自动补位
// 			// 此时将不会再比较这个元素,就需要再比较一次j所在的位置的元素
// 			// 使j自减
// 			j--;
// 		}
// 	}
// }
// console.log(arr);



// 方法二:
// indexOf:首先需要一个存结果的新数组,遍历数组每一项在新数组中找一下,找不到就添加,找得到就跳过,最后得到去重后的数组。
// var arr = [1,2,2,2,1,3,4,2,5];
// var arrTemp =[];

// // 如果arrTemp中找不到arr中的item,就把item加到arrTemp中
// arr.forEach(function(item,index){
// 	if(arrTemp.indexOf(item)==-1){
// 		arrTemp.push(item);
// 	}
// });
// console.log(arrTemp);


// 方法三:排序去重
 // var arr = [1,2,2,2,1,3,4,2,5];
 // var arrTemp = arr.sort(function(a,b){
 // 	return a-b;
 // })

 // var quchong=[];

 // 	arrTemp.forEach(function(item,index){
 // 		if (item!==arrTemp[index-1]) {
 // 			quchong.push(item);
 // 		}
 // 	});

 // 	console.log(quchong);


 // 方法四:通过对象来去重
 // 利用对象的属性值不会重复的特性,遍历数组将每一项作为对象的属性添加进去,最后再将对象的属性通过	Object.keys(obj1) 变成数组最终达到去重的效果。
 // 	var arr = [1,2,2,2,1,3,4,2,5];
	// var arrObj = {};
	// 		arr.forEach(function(item,index){
	// 			arrObj[item] = item;
	// 		});

	// 	console.log('arrObj:'+arrObj);
	// 	var arrTemp=Object.keys(arrObj);
	// 	console.log('arrTemp:'+arrTemp) //但是得到的是字符串数组
	// 	var arr2=arrTemp.map(item=>{	
	// 		return Number(item)		//转成数字数组
	// 	})
	
	// 	console.log('arr2:'+arr2)



	// 方法五:es6 的Set 方法
	// var arr = [1,2,2,2,1,3,4,2,5];
	// const unique=arr=>[...new Set(arr)]
	// console.log("arr:"+unique(arr));

	</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值