数组去重方法归纳

无论是实际工作中还是面试的时候,常常会遇到数组去重的问题,今天就把我所知的数组去重的方法归纳一下,若说的不全,请大神评论区给点idea,以便于完善;
事先定义一个数组和一个空数组(后面会用到)

let arr = [1,2,3,2,3,4,{},{}];
const result = [];
Set 去重

Set 方法对数组进行去重是ES6中最常用的方法,代码比较简洁

Array.from(new Set(arr))
[...new Set(arr)]

两种写法均可对数组进行去重,至于Array.from是把类数组转化为数组, … 扩展符则是将Set后的值转为字符串,所以在其外部加上一个 [] ,将其变成数组

includes 去重

includes用于判断该数组中是否包含某个值
思路: 创建一个新数组,循环原数组,依次判断新数组中是否含有原数组中的值,若存在,则不添加,不存在,则将原数组遍历的值添加进新数组

for(let v of arr){
	if(!result.includes(v)){
			result.push(v);
		}
	}
indexOf去重

indexOf 方法判断某个值在数组中是否存在,若不存在,则返回 -1;若存在,则返回该元素在数组中对应的索引值;
思路:与includes相同

for(let v of arr){
	if
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值