一、Map
1.map的作用:
key可以是任意的内容
2.使用
长度:size
删除:delete clear
增:set
查:get
传统的对象的key只能是字符串作为键名
let obj = { "a":123 //[1,2,3]:123//会报错,只能是字符串作为键名 } console.log(obj)
而用Map,key可以是任意的类型
let map1 = new Map(); map1.set('a',123); let a = ['a','b']; map1.set(a,12); map1.set(0,'你好'); console.info(map1);//Map(3) {"a" => 123, Array(2) => 12, 0 => "你好"} console.info(map1.size);//3 console.info(map1.get(a));//12 console.info(map1.delete(0));//true console.info(map1.clear());//undefined console.info(map1.size);//0 const map = new Map([ ['name', '张三'],//数组第一项是键,第二项是值 ['title', 'Author'] ]); console.info(map.size )// 2 console.info(map.has('name'))// true console.info(map.get('name'))// "张三" console.info(map.has('title'))// true console.info(map.get('title'))// "Author"
二、WeakMap
map和weakMap区别
1.weakMap没有遍历操作
2.也没有size、clear属性
3.垃圾回收机制
4.key要求是个对象
{ let weakMap = new WeakMap(); weakMap.set({},"哈哈哈哈"); console.log(weakMap);//WeakMap {{…} => "哈哈哈哈"} }