• 技术文章 >web前端 >js教程

    es6数组去重的方法是什么

    青灯夜游青灯夜游2021-09-06 18:42:57原创281

    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结合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对象结合filter方法可以达到数组去重的效果~

    【推荐学习:javascript高级教程

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:es6 数组去重
    上一篇:javascript replace怎么用 下一篇:es6新增加的数据类型有什么
    线上培训班

    相关文章推荐

    • 原来ES6 module还可以这样用!(备忘单)• JavaScript中数组去重的5种方法是什么• 浅谈Node.js中ES6导入语法的使用方法• 一文讲解JS中ES6代理Proxy用法(代码分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网