使用 ES6 解决数组去重问题

阅读时长 3 分钟读完

在前端开发中,我们经常需要对数组进行去重操作。过去我们通常采用循环遍历的方式,判断每个元素是否重复来达到去重的目的。在 ES6 中,有更加简洁高效的方式可以解决这个问题。

ES6 去重方式

  • Set 数据结构

Set 是 ES6 新增的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。因此可以利用 Set 数据结构进行数组去重操作。

上述代码中,我们先将数组通过 spread 操作符,展开为一个新的数组,然后将这个新数组作为 Set 构造函数的参数,创建一个 Set 数据结构。最后再用 spread 操作符将 Set 构造函数返回的 Set 数据结构转换成数组形式。这样就实现了数组去重操作。

  • Map 数据结构

Map 也是一种新的数据结构,它类似于对象,但是键名可以是任意数据类型。利用 Map 数据结构同样可以实现数组去重操作。

-- -------------------- ---- -------
--- --- - --- -- -- -- -- -- ---
--- --- - --- ------
--- --------- - ---
--- ---- - - -- - - ----------- ---- -
  -- ------------------ -
    --------------- ------
    -----------------------
  -
-
----------------------- -- --- -- -- -- --

上述代码中,我们遍历原数组,判断当前元素是否已经存在于 Map 中,如果不存在就将该元素作为键名添加到 Map 中。同时也将该元素添加到一个新的数组 uniqueArr 中。

总结

ES6 提供的 Set 和 Map 数据结构可以有效地解决数组去重问题,相对于传统的循环遍历方式,代码更加简洁高效。当然,我们也可以使用一些第三方库,如 lodash 的 uniq 方法,但是使用 ES6 的方式可以让我们更好地理解数据结构的应用,为我们的开发能力提升带来更多的帮助。

学习提示

  • 了解 Set 和 Map 数据结构的概念和使用方法。
  • 掌握展开操作符和 Map 的使用方法。
  • 在实际应用中灵活运用 ES6 的数组去重技术。

示例代码

-- -------------------- ---- -------
-- --- --
--- --- - --- -- -- -- -- -- --- 
--- --------- - ------- ----------
----------------------- -- --- -- -- -- --

-- --- --
--- --- - --- -- -- -- -- -- ---
--- --- - --- ------
--- --------- - ---
--- ---- - - -- - - ----------- ---- -
  -- ------------------ -
    --------------- ------
    ----------------------- 
  -
-
----------------------- -- --- -- -- -- --

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e165d8f6b2d6eab3c8eda1

纠错
反馈