js map对象

2020-10-30  本文已影响0人  Viewwei

map对象属于ES6的方法
1.迭代器生成
map基本创建使用new Map()创建对象。同时也剋使用迭代器使用

const a = new Map([
  ["key1","val1"],
  ["key2","val2"],
  ["key3","val3"],
  ["key4","val4"],
])

2 map使用set设置新属性。支持链式编程
3.keys() 获取map所有的key
4 Object与map区别
Object和map的区别不大,一般更加个人爱好。在相同的空间下map比Object存储的键值多。在频繁的插入操作中map比Object快。在大量删除操作的时候Map比Object快
5 WeakMap()
WeakMap的键只能使用对象,不能使用其他的类型,可以使用get()和has()方法进行查询。WeakMap使用的是弱键。使用弱键来保存dom元素最好,因为js消失的时候,弱键中保存的dom元素也会消失
6 Set
Set数据集合是ES6新建添加的数据集合。
Set使用 new Set()方法创建新的实例,可以使用链式编程进行编程
Set使用add()方法进行数据元素的添加。相同的数据元素在Set中只会保存一次。又过滤的效果
Set使用has进行判断是否存在数据元素
Set使用Size()方法获取个数
Set使用delete方法删除某个数据元素,使用Clear()删除(清空)整个集合
Set也可以使用delete方法来判断是否拥有该元素,如果返回false则代表不存在该元素。
7 顺序与迭代
集合数据提供一个迭代器,能以插入顺序生成内容。使用values方法以及keys() 或者Symbol.iterator属性。取得这个迭代器

const  s = new Set(["val1","val2","val3"])
s.values = s[Symbol.iterator]
s.keys = s[Symbol.interator]

values()是默认迭代器,直接对实例使用扩展符号,把集合转成数组

const s = new Set(["val1","val2","val3"])
console.log([...s]) // ["val1","val2","val3"]

entries()返回一个迭代器

const s = new Set(["val1","val2","val3"])
for (let pair of s.entries(0)) {
  console.log(pair) 
}
//["val1","val1"]
//["val2","val2"]
//["val3","val3"]

8 WeakSet
WeakSet只能是Object或者继承Object()类数据

上一篇 下一篇

猜你喜欢

热点阅读