js---《数组去重的方法》{Set+Array.from方法;includes方法;for + object方法;Map方法;reduce方法}

本文介绍了五种在JavaScript中去除数组重复元素的方法:使用Set结合Array.from、利用includes方法、利用对象属性名唯一性、使用Map数据结构以及利用reduce方法。每种方法都附有示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Set+Array.from

利用Set数据不重复的特点,结合Array.from
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组,也是ES6的新增方法。

var arr=[1,2,3,4,5,6,6,5,4,3,2,1]
function Array(arr){
	return (Array.from(new Set(arr)))
}
console.log(Array(arr))

2.includes

利用了includes检查新数组是否包含原数组的每一项。如果不包含,就push进去。
includes()方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false

var arr=[1,2,3,4,5,6,6,5,4,3,2,1]
function Array(arr){
	let newArr=[]
	for(let i=0;i<arr.length;i++){
		newArr.includes(arr[i])?newArr:newArr.push(arr[i])
	}
	return newArr
}
console.log(Array(arr))

3.for + object

利用对象属性名不能重复的特性,如果对象中不存在,就可以给push进去。

var arr=[1,2,3,4,5,6,6,5,4,3,2,1]
function Array(arr){
	let newArr=[]
	let obj={}
	for(let i=0;i<arr.length;i++){
		if(!obj[arr[i]]){
			newArr.push(arr[i])
			obj[arr[i]]=1
		}else{
			obj[arr[i]]++
		}
	};
	return newArr
}
console.log(Array(arr))

4.Map

Map遍历整个数组,对里面的每个值做处理再返回一个新的值 利用数据结构存值的特点

var arr=[1,2,3,4,5,6,6,5,4,3,2,1]
function Array(arr){
	let newArr=[]
	let map=new Map()
	for(let i=0;i<arr.length;i++){
		if(!map.has(arr[i])){
			map.set(arr[i],true)
			newArr.push(arr[i])
		}
	};
	return newArr
}
console.log(Array(arr))

5.reduce

第一个参数为初始值, 或者计算结束后的返回值。 第二个参数,当前元素 !!reduce里面有一定要return,return出去的值也要注意

var arr=[1,2,3,4,5,6,6,5,4,3,2,1]
function Array(arr){
	let newArr=[]
	return arr.reduce((prev,next,index,arr)=>{
	//如果包含,就返回原数据,不包含,就是把新数据追加进去
		return newArr.includes(next)?newArr.push(next)
	},0)
}
console.log(Array(arr))

参考于:http://t.csdn.cn/w1WEU
若有疑问,请及时指出哦

小作者持续更新中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠媂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值