Map结构类似与对象,也是键值对的组合。但是‘键’的类型不再局限于字符串,对象数组皆可。
首先new Map()创建一个空的map
let m = new Map()
map的set属性:m.set(key,value)
set方法会为map设置key对应的键值,并返回设置后的Map结构。如果存在该键则会更新否则重新生成改键
m.set({"key": 'vaue'}, 1)m.set([1,2,3], 2)m.set(1,2)m.set('fw2','3')
console.log(m) // Map(4) { { key: 'vaue' } => 1, [ 1, 2, 3 ] => 2, 1 => 2, 'fw2' => '3' }
map的size属性: 获取map成员的数量
m.size // 4
map的get属性: m.get(key)
获取map中key值如果没找到则返回undefined
console.log(m.get(1)); // 2console.log(m.get(3)); // undefined
map的has属性: m.has(key)
该方法返回一个布尔值,检查一个键是否存在与map结构中
console.log(m.has(1)); // trueconsole.log(m.has(3)); // false
map中的delete属性: m.delete(key)
删除结构中的某一个键值,删除成功返回true失败则返回false
m.delete(1) // truem.delete(8) // falseconsole.log(m); // Map(3) { { key: 'vaue' } => 1, [ 1, 2, 3 ] => 2, 'fw2' => '3' }
map中的clear属性: m.clear()
清除所有成员没有返回值
m.clear()console.log(m); // Map(0) {}