1.map
1.1map是一种键值对的结构,用来解决以往不能用对象作为键名的问题。
1.2 查找速度极快,可以使用对象,函数,基本类型作为键名
2.map的创建
let name = {name: '张三'}
function age (age) {
return age
}
let map = new Map()
map.set({name})
map.set(age(18))
console.log(map) //0: {Object => undefined} 1: {18 => undefined}
3.增删改查
3.1查
console.log(map.has(name))//true
3.2增
map.set(name)
3.3删
console.log(map.delete(name)) //true
3.4取值
map.set(name, '今天要下雨')
console.log(map.get(obj))//今天要下雨
4.遍历
4.1 map中取值
console.log(map.keys()) //键名
console.log(map.values()) //值
console.log(map.entries()) //整个
4.2for of遍历
for (const item of map.values()) {
console.log(item) //遍历值
}
4.3 forEach遍历
map.forEach(function(keys,values){
console.log(keys,values)
})
5.通过转化为数组来过滤map
let map = new Map([["name", "张三"], ["name1", "张飞"], ["name2", "黄博文"]])
let newArr = [...map].filter(function(item){
return item[1].includes('张')
})
let newMap = new Map(newArr)
console.log(newMap.values())
6.WeakMap和WeakSet一样,都是弱应用,数据格式又跟map一样,只是里面的内容必须是引用类型。