Map
Map
对象保存键值对,并且能够记住键的原始插入顺序。任何值都可以作为一个键或一个值。
常用方法:
let myMap = new Map()
// 添加元素
myMap.set('name',"paul")
myMap.set('age',23)
console.log(myMap.get('name')) //paul
// 查看里面有几个元素
console.log(myMap.size) // 2
// 循环遍历
for(let[key,value] of myMap){
console.log(key,value) // name,paul age,23
}
// 查看是否有名字为name的key
console.log(myMap.has('name')) // true
// 删除key为"name"的键值对。
myMap.delete('name')
Set
Set
对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。Set中元素的值是唯一的。
const mySet = new Set()
// 添加值
mySet.add(1) // 1
mySet.add(2) // 1,2
mySet.add(1) // 1,2
mySet.add(3)
mySet.add(100)
// 删除值
mySet.delete(1)
mySet.size // 1
console.log(mySet.values().next().value)
// 遍历
for(let item of mySet){
console.log(item)
}
mySet.forEach((item,index,mySet)=>{
console.log(item,index) // 2,2 3,3 100,100
})
// 查看是否有此值
console.log(mySet.has(2)) //true
// 数组去重
const numbers = [1,1,1,1,1,2,3,4,5]
console.log([...new Set(numbers)])