js数组去重

这里写自定义目录标题

数组去重在js操作中是非常常见的。很多时候对接后台时,后台返回的数据中就有重复的数据,这时我们前端会把这些数据给重新过滤,在渲染到页面。

es6以前:

		var arr = [1,2,3,5,4,5,6,2,3,2,1]; //要操作的数据
		var arr2 = []; //定义一个新数组
		for(var i = 0; i < arr.length; i++) {
			if(arr2.indexOf(arr[i]) == -1){ //判断新数组里面是否有重复的数据
				arr2.push(arr[i]);    //没有就把数据push到新数组
			}
		}
		console.log(arr2); //循环结束后打印新数组
	//通常我们会将这个操作封装成一个函数来使用
	function repeatArr(arr){
			var arr2 = [];
			arr = arr.constructor == Array ? arr : [] //判断传进来的参数是否为数组
			for(var i = 0; i < arr.length; i++) {
				if(arr2.indexOf(arr[i]) == -1){
					arr2.push(arr[i]);
				}
			}
			return arr2
		}

es6新增 new Set()

	var arr = [1,2,3,5,4,5,6,2,3,2,1];
	 
	console.log(new Set(arr)) //返回一个Set对象: Set(6) {1,2,3,4,5,6}
	//使用解构赋值
	console.log([...new Set(arr)]) //(6) [1, 2, 3, 5, 4, 6]

end …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值