JavaScript 数组去重的 3 种方法和代码实例
在前端开发中,经常需要对数组进行去重操作。本文将介绍 JavaScript 中三种不同的数组去重方法,并提供代码示例。
方法一:使用 Set 数据结构
Set 是 ES6 引入的新数据结构,可以用来存储唯一值。我们可以先将数组转换为 Set,然后再将 Set 转换回数组即可实现去重。
----- --- - --- -- -- -- -- -- --- ----- --------- - ------- ---------- ----------------------- -- --- -- -- -- --
上述代码通过扩展运算符(...)将 Set 转换为数组。
这种方法简单易懂,但由于 Set 数据结构是 ES6 中引入的新特性,可能在低版本浏览器不被支持。
方法二:使用 filter() 方法
使用 Array.filter() 方法也可以实现数组去重。遍历原数组,如果当前元素第一次出现,则将其加入新数组中。
----- --- - --- -- -- -- -- -- --- ----- --------- - ----------------- ------ -- - ------ ----------------- --- ------ --- ----------------------- -- --- -- -- -- --
上述代码使用 Array.indexOf() 方法获取元素在数组中的下标,如果当前元素第一次出现,则返回 true,否则返回 false。通过 filter() 方法过滤掉重复元素,得到新的去重后的数组。
这种方法兼容性好,但由于需要遍历原数组,效率略低。
方法三:使用 reduce() 方法
使用 Array.reduce() 方法也可以实现数组去重。遍历原数组,将当前元素与累加器中已有的元素进行比较,如果不存在则加入累加器中,最后返回累加器即可。
----- --- - --- -- -- -- -- -- --- ----- --------- - ----------------- ----- -- - -- ---------------------- ---------------- ------ ----- -- ---- ----------------------- -- --- -- -- -- --
上述代码使用 Array.includes() 方法检查当前元素是否已存在于累加器中,如果不存在则加入累加器中。最后返回累加器即为去重后的数组。
这种方法相较于 filter() 方法,效率更高。
总结
本文介绍了 JavaScript 中三种不同的数组去重方法,分别是使用 Set 数据结构、filter() 方法和 reduce() 方法。在实际开发中,我们应该根据具体情况选择合适的方法。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/3634