Array 是最传统的一个集合型的数据结构了,[123] ES 2015 对它进行了扩充。

Set 不是一个数据,它是一个对象 {123},不提供 index 查找,也就意味着不能向指定位置插入和查找指定位置,可通过 for 遍历和解构。

JavaScript原有的for…in循环,只能获得对象的键名,不能直接获取键值。ES6提供for…of循环,允许遍历获得键值。

ES 2015,扩充了一些新的类方法:

Set 没有索引,数据不能重复,是一个无序数据,不能进行 sort。

以下是 Set 支持的所有操作:

new Set(iterable):从任何可遍历数据中提取元素,构造出一个新的集合。

set.add(value):添加元素。如果与已有重复,则不产生效果。

set.delete(value):删除元素。如果并不存在,则不产生效果。

set.has(value):判定集合中是否含有指定元素,返回一个布尔值。

set.size:获取集合的大小,即其中元素的个数。

注意区分Object和Map,只有模拟现实世界的实体对象时,才使用Object。如果只是需要key: value的数据结构,使用Map结构。因为Map有内建的遍历机制。

一个 Map 对象由若干键值对组成,支持:

际上,它们就是同一个方法,不同名字。