根据阮一峰博客做的学习笔记//地图结构的数据是由键值对组成的。与Object不同的是map可以使用各种类型的数据作为key值//可以使用keys(value)-value的方式//一个map数据constmapData=newMap()mapData.set(name,'dddaaa')//向地图添加属性constobj={name:'dddaaa'}console.log('map',mapData.get(name));//获取属性dddaaa对应的数据输出console.log('obj',obj.name);//输出dddaaa//一些测试mapData.set(obj,'deleteme')//使用上面新建的obj对象作为key值console.log('set',mapData.get(obj));//删除obj键值数据mapData.delete(obj)//使用delete删除mapA属性console.log('del',mapData.get(obj))//因为obj对应的数据已经被删除,输出undefined/***map数据被多次赋值给同一个key,后面的会代替前面的*size属性会返回map数据中的成员总数*set属性用于添加成员到地图数据*get属性用于获取地图数据对应的键名的值*has用于判断地图数据成员中是否存在该键名*delete用于删除该键对应的成员map数据中的name,删除成功返回true,否则返回false*clear用于清除map数据中的所有成员,无返回值**map的遍历方法*Map.prototype.keys():Returns键名的遍历器。*Map.prototype.values():返回一个键值的遍历器。*Map.prototype.entries():返回所有成员的遍历器。*Map.prototype.forEach():遍历Map的所有成员。**/mapData.set('z','zzz')mapData.set(145,'asjdhjk')mapData.set(true,'zxjchx')mapData.forEach(item=>{console.log('forEach',item);//会直接输出map中的value,不会输出keyname==values})console.log('keys',mapData.keys());//OutputMapIterator{'','z',145,true}for(letkeysofmapData.keys()){//mapData.keys()会返回地图数据的所有键名console.log('key',键);//输出每个键}
