V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
fszaer
V2EX  ›  JavaScript

es6 set 的应用实例?

  •  
  •   fszaer · 2016-02-02 10:48:32 +08:00 · 3537 次点击
    这是一个创建于 3221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在过 es6 or es2015
    但是看到 set 这一个新特性有些不理解,主要是 set 的应用场景不太清楚
    根据阮一峰的《 es6 标准入门》中的介绍

    ES6 提供了新的数据结构 Set 。它类似于数组,但是成员的值都是唯一的,没有重复的值。

    在我简单认知中 set 只是提供不重复的数组,但是操作上并没有数组的方便

    而且我看到很多例子中更多是作为去重使用
    将数组往 set 过一遍,去完重,再放回数组该干啥干啥

    还有一个是 set 对于结构复杂的数组有没有用?
    比如多维数组,对象数组 set 结构能否正确如同一维数组那样处理?

    5 条回复    2016-02-02 14:22:06 +08:00
    Septembers
        1
    Septembers  
       2016-02-02 11:04:28 +08:00 via iPad
    Set 在于提供了一个无序不重复集合
    例如储存 ID 的集合
    jarlyyn
        2
    jarlyyn  
       2016-02-02 11:22:38 +08:00
    楼主没有做过一个 {a:true,b:true} 的数组来实现过 set 的作用么……
    aisk
        3
    aisk  
       2016-02-02 11:46:44 +08:00
    >> ES6 提供了新的数据结构 Set 。它类似于数组,但是成员的值都是唯一的,没有重复的值。

    这句话说它类似数组,但是没说让你用来代替数组啊……该用数组的地方还是要用数组,需要去冲的时候再考虑 set 。
    tobeyouth
        4
    tobeyouth  
       2016-02-02 11:52:40 +08:00
    最近用的的一个场景:
    有一堆类似这样的数据:{color:'red'}, {color:'green'}, {color:'blue'}, {color:'red'}, {color:'yellow'}...

    可以直接 map ,然后用 set 存储 color
    hkongm
        5
    hkongm  
       2016-02-02 14:22:06 +08:00
    初中还是高中来着?集合的概念。还记得俩圆么?交集并集。

    set 就是集合。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5829 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:31 · PVG 14:31 · LAX 22:31 · JFK 01:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.