let divs=document.querySelectorAll('div');
let map=new Map();
map.set(divs,1234);//set赋值的时候,接收键值对作为参数
map.get(divs);//1234,set用来给map对象赋值,get用于取值
map.size;//1 size用于获取map对象长度
map.has(divs);//true 返回是否包含参数项的布尔值
map.delete(divs);//rue 返回是否成功删除参数项的布尔值//////////new Map(Symbol());//报错new Map(12);//报错new Map({})//报错new Map([]);//Map{}///new Map([1]);//报错new Map([1,2]);//报错new Map([[1,2]]);//Map {1 => 1}new Map([['a',1]]).get('a');//1////map数据结构,接收嵌套键值对数组的数组作为参数,进行初始化map对象let s1=[1];
let s2=[1];
let map=new Map();
map.set(s1,2);
map.set(s2,3);
map.get(s1);//2
map.get(s2);//3///map结构的属性是绑定于内存地址的,所以map.get(s1)与map.get(s2)得到的值不一样///map结构的遍历和set结构的近似,keys(),values(),entries(),forEach()/////////////////////
[...new Map([[1,2],[3,4]])];//[[1,2],[3,4]],map数据结构通过扩展运算符转为数据类型
●WeakMap:
WeakMap与Map结构类似,区别就是它只接受对象作为属性名
new WeakMap([[{},2]]);// WeakMap{Object {} => 2}
new WeakMap([[1,2]]);//报错
new WeakMap([['a',2]]);//报错
new WeakMap([[Symbol(),2]]);//报错
与map相似,WeakMap结构也有has,get,set等方法,但是它不能被遍历,没有keys(),values(),entries(),forEach方法