首页前端开发JavaScriptes6数组去重的方法是什么

es6数组去重的方法是什么

时间2024-01-30 06:31:03发布访客分类JavaScript浏览358
导读:收集整理的这篇文章主要介绍了es6数组去重的方法是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。es6数组去重的方法:1、利用Set对象和数组的From方法,语法“Array.from(new Set(arr ”;2、利用Set和...
收集整理的这篇文章主要介绍了es6数组去重的方法是什么,觉得挺不错的,现在分享给大家,也给大家做个参考。

es6数组去重的方法:1、利用Set对象和数组的From方法,语法“Array.from(new Set(arr))”;2、利用Set和扩展运算符,语法“[...new Set(arr)]”;3、利用Map对象和数组的filter方法。

本教程操作环境:windows7系统、ecmascript 6版、Dell G3电脑。

第一种:利用Set对象和数组的Array.from方法

const newArr = Array.from(new Set(arr));
    

代码示例:

打印运行后的结果

简单来说,第二种方法比第一种还简单。同样来简单解释一下。

  • Set是ES6新提供的数据结构,类似于数组,但是本身没有重复值。

  • Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(ITerable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

所以set结合Array.from同样可以达到数组去重的效果。不过需要注意的是,主流浏览器像Chrome,Firfox,opera,Safari,包括微软的Edge,都是支持的,但是唯独IE系列不支持。

第二种:利用Set+扩展运算符 …

第三种办法可以说是更简单

const newArr = [...new Set(arr)];
    

代码示例:


打印后运行的结果

这就是利用ES6新特性达到数组去重的三种办法,这三种办法有个共同的好处就是代码简洁,对于undefined和NaN也同样可以达到去重的效果~~

第三种: 利用Map对象和数组的filter方法

function unique(arr) {
        const res = new Map();
        return arr.filter((a) =>
     !res.has(a) &
    &
 res.set(a, 1))}
    

代码示例:

打印后的结果


通过打印我们发现,确实实现了我们想要的效果。那么下面简单来解释一下。

  • Map对象是ES6提供的一个新的数据结构,其中has的办法是返回一个布尔值,表示某个值是否存在当前的Mp对象之中,set的办法是给Map对象设置key/value。

  • 2filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

所以说,Map对象结合filter方法可以达到数组去重的效果~

【推荐学习:javascript高级教程】

以上就是es6数组去重的方法是什么的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

es6

若转载请注明出处: es6数组去重的方法是什么
本文地址: https://pptw.com/jishu/592163.html
Parser(解析器)的使用实例教程 javascript中eval的用法是什么

游客 回复需填写必要信息