数组去重(上)

数组去重是js学习者学习数组时通常会遇到的一个问题,也是面试会碰到的一个问题。

在下文我分享几个数组去重的方案。
这是一个待去重的数组 [10,10,20,50,50,30,30,30,20]

方案1:

step1:利用sort(),先将数组升序或者降序排列。
step2:因为数组是排好序的,只要将当前数据和相邻的下一个数据做比较,判断是否相等,即 是否重复。如果有就把当前数据删除,再拿相邻的数据去比较是否还有与之相同的数据,依次进行,直至没有一个数据与当前数据相等。
step3:遍历数组,将数组中的每一个数据都去执行step2。

code如下在这里插入图片描述
方案2

思路:利用一个新的空数组去重。
step1:准备一个空数组;
step2:遍历原始数组,去判断新数组中是否存在当前数据,如果没有,就把数据添加到新的数组里,如果有,就什么都不做,判断下一个,直至遍历结束。
step3:把新数组输出。
在这里插入图片描述
方案3

思路:利用对象键名不重名的特点。
step1:准备一个空对象obj。
step2:循环遍历数组,把数组中的每一个数据当作是对象的key,给他随便赋一个值,添加到对象里。直到遍历结束。这时对象内的每一个key就是去重以后的数据。
step3:遍历对象,把每一个key拿出来,放到数组里。
在这里插入图片描述
本篇文章先分享这3个数组去重的方法,剩下的方法将在下边文章输出,如有误,请指正。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值