Map()
Map是一个带键的数据项的集合,就像object一样。但是它们最大的差别是Map允许任何类型的键。
方法和属性
new Map()
—- 创建mapmap.set(key,value)
—- 根据键存储值map.get(key)
—- 根据键来返回值,如果map中不存在对应的key,则返回undefinedmap.has(key)
—- 如果key存在则返回true,负责返回falsemap.delete(key)
—- 删除指定键的值map.clear()
—- 清空mapmap.size
—- 返回当前元素个数
let map=new Map()
map.set('1','se') //根据键储存值 返回 Map(1) {"1" => "se"}
map.get('1') //根据键返回值,如果不存在返回undefind 返回se
map.has('1') //如果key存在返回true
map.delete('1') //删除指定键的值 返回true
map.clear() //清空 返回undefind
map.size //返回当前元素个数 返回0
Set()
- 是一组key的集合,但不存储value。(或者说key、value相同)
- 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。Set中,key不能重复。如果出现重复的key,Set会自动过滤。Set没有索引,它的键和值是一个。
- Set()是一个类似数组解构,但它不是数组。它本身就是一个构造函数。
- 它最主要的作用是去重。
- 可以使用Array.from()把它变成一个数组。
- 通过展开运算符(…)可以把Set集合转换成一个数组。
let set = new Set([1, 2, 3, 3, 3, 4, 5]),
array = [...set]
console.log(array) // [1,2,3,4,5]
方法和属性
set.add("a")
添加一个元素set.delete("a")
删除一个元素set.size
获取元素的数量set.clear()
清除对象中的所有元素。set.has("a")
判断s对象中是否有某个元素,返回true或false
//实例化一个Set对象
var set =new Set()
//Set对象通过add方法添加元素
set.add('3')
set.add('3') //注意3和'3'是不同的元素
set.add('apple')
console.log(s) //打印结果:Set(3) {3, "3", "apple"}
//使用delete可以删除元素
set.delete('apple')
console.log(s) //打印结果:Set(2) {3, "3"}
//清除set对象中的所有元素。
set.clear()
例:可以用多个add加入元素
set.add(1).add('哈').add('apple')
console.log(s) //Set(3) {1, "哈", "apple"}
//Set括号中数字代表set中有几个元素
发表回复