es6新增了Set、Map、WeekSet、WeekMap 四种数据结构。C#中有HashSet和Dictionary,HashSet和Dictionary都是范式集合,但是es6不支持接口开发,所以也就不存在范式。Set 是存唯一值的集合,Map是存键值对的集合。WeakSet、WeakMap分别是它们的弱式表现的兄弟,只能存对象数据结构,拥有的方法少很多,使用时需要注意。
1、set:存放代表唯一值的集合。这个唯一是使用Object.is()来判断的。撸起:
let
let
2、WeakSet:存放代表唯一值的集合,是Set的弱化版本,只有add()、has()、delete()方法,不能迭代(foreach()、key()、values()等方法),不可以实例化的时候初始默认值,保存的值必须是对象数据结构。撸起:
let
3、Map:存放代表唯一值的集合,是Set的弱化版本,只有add()、has()、delete()方法,不能迭代(foreach()、key()、values()等方法),不可以实例化的时候初始默认值,保存的值必须是对象数据结构。撸起:
let
4、WeakMap:Map的弱表现数据结构,相对map来说,功能也是弱很多。
let
Set、Map是es的一种新数据结构,类似于数组,但是key是唯一的。WeakSet、WeakMap请少用,因为它的key值要求比较特殊,一定得考虑好了再使用。