map数据结构
学习map的这种ES6新加的数据结构。在一些构建工具中是非常喜欢使用map这种数据结构来进行配置的,因为map是一种灵活,简单的适合一对一查找的数据结构。我们知道的数据结构,已经有了json和set。那map有什么特点。
Json和map格式的对比
map的效率和灵活性更好
先来写一个JSON,这里我们用对象进行模拟操作。
let json = { name:'jspang', skill:'web' } console.log(json.name);
但是这种反应的速度要低于数组和map结构。而且Map的灵活性要更好,你可以把它看成一种特殊的键值对,但你的key可以设置成数组,值也可以设置成字符串,让它不规律对应起来。
let json = { name:'jspang', skill:'web' } console.log(json.name); var map=new Map(); map.set(json,'iam'); console.log(map);
当然也可key字符串,value是对象。我们调换一下位置,依然是符合map的数据结构规范的。
map.set('jspang',json);
console.log(map);
map的增删查
上边我们已经会为map增加值了,就是用我们的set方法,这里我就不重复讲解了。直接看如何取出我们的值。
取值get
现在取json对应的值。
console.log(map.get(json));
删除delete
删除delete的特定值:
map.delete(json); console.log(map)
size属性
console.log(map.size);
查找是否存在has
console.log(map.has('jspang'))
清楚所有元素clear
map.clear()