JS数组去重

闲来无事,总结一下数组去重的各种思路。当然去重有很多种方法,这里只写几个相对简洁的思路。

基本思路

做一个空数组A,遍历数组,若A中不存在则放入A

function uniqueArray (arr) {
	let result = [];
	arr.map(item => {
		if(!result.includes(item)) {
			result.push(item);
		}
	});
	return result
}

用对象去重

利用对象属性不会重复的特性来去重。但这样去重之后的结果,会把数组变为字符串,并改变顺序(排序)

function uniqueArray (arr) {
	let map = {};
	arr.map(item => {
		if(!map[item]) {
			map[item] = item;
		}
	});
	return Object.keys(map)
}

使用set去重

利用ES6中Set不包含重复元素的思想,为数组创建set对象,再将set对象转换为数组。

function uniqueArray (arr) {
	return Array.from(new Set(arr));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值