美文网首页es6
ECMAScript6 新思想实现数组去重

ECMAScript6 新思想实现数组去重

作者: 小菜荔枝 | 来源:发表于2017-06-27 15:25 被阅读16次

    0x01 代码实现

    // array
    let arr = [1,1,'s','s',NaN,NaN,true,true,false,false,null,null,undefined,undefined];
    
    // 该函数用来去重
    const _arr = (arr = []) => Array.from(new Set(arr));
    
    // 验证
    console.log(_arr(arr));
    

    0x02 代码分析

    根据ES6的新特性,只用了一行代码就可以实现数组去重:

    • ES6 提供了新的数据结构 Set,它类似于数组,但是其成员都是唯一的,所以通过 new Set(arr) 可以得到去重的数据结构
    • Array.from(),该方法可以将类数组结构(例如 Set)转化为数组,所以通过 Array.from(new Set(arr)) 就可以得到去重的数组了
    • 注意:这种方法适用于包含基础数据类型的数组,包含混合数据类型的数组不适用
    // array
    let arr = [{},{},{},[],[]];//包含Object,Array
    
    // 该函数用来去重
    const _arr = (arr = []) => Array.from(new Set(arr));
    
    // 验证,不适用类似的数组
    console.log(_arr(arr));//[{},{},{},[],[]]
    

    简书作者 小菜荔枝 转载请联系作者获得授权

    相关文章

      网友评论

        本文标题:ECMAScript6 新思想实现数组去重

        本文链接:https://www.haomeiwen.com/subject/vmlecxtx.html