Set数据类型:
Set和Map类似,也是一组key的集合,但不S存储value。由于key不能重复,所以在Set中,没有重复的key。
set的方法:
var mySet=new Set()
//添加元素
mySet.add('张三')
//获取元素数量
console.log(mtSet.size)
//删除元素
mySet.delete("张三")
//添加复杂数据类型
mySet.add({uname:"张三"})
//Set是可遍历的(可迭代 iterater)
for(item of mySet){
console.log(item)
}
//判断某元素是否存在
var result=mySet.has("中国北京")
console.log(result)
//清除Set
mySet.clear()
//forEach循环
mySet.forEach(item=>{
console.log(item)
})
//判断数据是否可迭代
var arr=["北京","上海","广州","深圳"]
//迭代器
var iterator=arr[Symbol.iterator]()
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
console.log(iterator.next())
Map数据类型:
Map和Object有点类似,都是键值对来存储数据,和Object不同的是,javaScript支持的所有类型都可以当作Map的key。
Map的方法:
//创建Map
let dic=new Map()
//Map的key可以是任何数据类型
dic.set("uname","张三")
dic.set("age",21)
dic.set({},"对象")
dic.set(function(){},"及时雨")
dic.set(true,"是否通过")
console.log(dic)
// 添加
dic.set("uname","张三")
dic.set("address","北京")
//获取
console.log(dic.get("uname"))
console.log(dic)
//删除
dic.delete("uname")
//清空
dic.clear()
//遍历
dic.forEach((item,index)=>{
console.log(item,index)
})
for(v of dic){
console.log(v)
}