es6删除数组某一项_在ES6的语法中如何给数组去重

f4e53c1419b8c2891fdf7671588ba3c6.png

这是从数组中筛选出重复项并仅返回唯一值的三种方法。我最喜欢使用Set,因为它最短,最简单;

set Set是ES6中引入的新数据对象。因为Set仅允许您存储唯一值。传递数组时,它将删除所有重复值。这个和java基本一样

让我们回到我们的代码,并分解正在发生的事情。有两件事发生:

首先,我们创建一个传递数组的新Set。因为Set允许唯一值,所以将删除所有重复项。

重复项不存在后,我们将使用散布运算符将其转换回数组

c133952c500564e4fb7bf0352e259030.png

filter 为了理解此选项,让我们看一下这两种方法的作用:indexOf和filter。

indexOf方法返回它从数组中找到的所提供元素的第一个索引。记住是第一个索引;

2a2779bbb5551e9951785be9ed1b3319.png

filter方法创建一个新的元素数组,这些数组通过我们提供的条件。换句话说,如果元素通过并返回true,则它将包含在过滤后的数组中。并且任何失败或返回false的元素都将不在过滤后的数组中。

d9f2af34e2fadb990e3ad5b9506a7d12.png

reduce reduce方法用于减少数组的元素,并根据您传递的某些reducer函数将它们组合为最终数组。

在这种情况下,我们的reducer函数将检查我们的最终数组是否包含该项。如果没有,则将该项目推入我们的最终阵列。否则,跳过该元素并按原样返回我们的最终数组(基本上跳过该元素)。

Reduce总是很难理解,因此,让我们进一步研究每种情况并查看输出:

c4191eac8588010f1466cd577c5b63c4.png

这是console.log的输出:

af1ebc9b54e95c0bc91144bd1d59aade.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值