ES6中的Set和Map

Set

Set是ES6中提供的一种新的数据结构。类似于数组,但是成员值都是唯一的,不会重复。
它本身是一个构造函数,生成Set数据结构。

var s=new Set();

属性:
Set.prototype.constructor:指向构造函数Set
Set.prototype.size:返回set实例的成员总数

方法:
add(value):添加value,并返回Set结构本身
delete(value):删除value,返回布尔值,表示是否删除成功
has(value):返回布尔值,表示value是否为set的成员
clear():清除所有成员

遍历操作
key():返回键名的遍历器
values():返回键值的遍历器
entries():返回键值对的遍历器
forEach():使用回调函数遍历每个成员

Map

Object,Map均为Hash结构(键值对集合)

区别:
Object键名只能是字符串形式,Map的键名可以是任意类型(包括对象)。

总的来说,Map是一种更完善的Hash结构的实现。如果你需要“键值对”的数据结构,Map比Object更合适。

实例的属性和方法:

size属性 返回Map成员总数
set(key, value) 设置键值对,返回Map本身,所以可以链式
get(key) 读取key对应的值,找不到返回undefined
has(key) 返回布尔值,表示是否存在
delete(key) 删除某键,返回布尔值,表示是否成功删除
clear() 清空所有成员,无返回值。

遍历方法
keys()
values()
entries()
forEach(),接受第二个参数,绑定回调函数的this

猜你喜欢

转载自blog.csdn.net/lixinyi0622/article/details/84990825
今日推荐