Set集合
类似于数组,但是成员的值都是唯一的, Set
本身是一个构造函数用来生成Set
数据结构Set
结构的实例方
add()
添加值,返回Set结构本身
const set = new Set()
set.add(1)
set.add(1)
set.add(2)
console.log(set) //Set { 1, 2 }
delete()
删除值,返回布尔值表示是否删除成功
let set = new Set()
set.add(1)
set.delete(1) //true
console.log(set) //Set {}
has()
返回布尔值,判断Set
对象中是否含有某值
let set = new Set()
set.add('hello')
set.add('world')
set.has('hello') //true
set.has(1) //false
clear()
移除所有元素,没有返回值
keys()
返回一个Iterator
对象,对象按照原Set
对象元素的插入顺序返回其所有元素
let set = new Set()
set.add('hello')
set.add('world')
const keys = set.keys()
console.log(keys) //{ 'hello', 'world' }
console.log(keys.next().value) //hello
console.log(keys.next().value) //world
values()
与keys()
用法一样,返回Iterator
对象,返回值也与keys()
一样
entries()
返回一个键值对形式的迭代器,类似[value, value]
形式的数组value
是集合中的每个元素
let set = new Set()
set.add('hello')
set.add('world')
const entries = set.entries()
console.log(entries.next().value) //[ 'hello', 'hello' ]
console.log(entries.next().value) //[ 'world', 'world' ]
`Map集合
类似于对象,是键值对的集合,数据可为任意类型,与Object
的区别在于Object
的键
只能是字符串或者Symbols
,但Map
可以为任意类型,且Map
中的键值是有序的Map
结构的实例方法
set(key, value)
设置键值对,返回整个Map()
结构,若对应键已有值则覆盖原有的值
let map = new Map()
map.set('name', 'lil')
console.log(map) //{ 'name' => 'lil' }
get(key)
获取key
对应的键值,若没有则返回undefined
let map = new Map()
map.set('name','lil')
console.log(map.get('name')) //lil
has(key)
返回布尔值,查询key
是否在当前对象中
let map = new Map()
map.set('name','lil')
console.log(map.has('name')) //true
console.log(map.has('age')) //false
delete(key)
删除key
对应的键值对,删除成功返回true
否则返回false
let map = new Map()
map.set('name','lil')
console.log(map.delete('name')) //true
console.log(map) //{}
clear()
清除所有键值对,没有返回值
keys()
返回新的Iterator
对象,按顺序插入Map
对象中所有key
let map = new Map()
map.set('name','lil')
map.set('age','21')
map.set('gender','male')
console.log(map.keys()) //{ 'name', 'age', 'gender' }
values()
返回新的Iterator
对象,按顺序插入Map
对象中所有value
let map = new Map()
map.set('name','lil')
map.set('age','21')
map.set('gender','male')
console.log(map.keys()) //{ 'lil', '21', 'male' }
entries()
返回新的Iterator
对象,按顺序插入Map
对象中每个元素的[key,value]
数组
let map = new Map()
map.set('name','lil')
map.set('age','21')
map.set('gender','male')
console.log(map.entries())
//{ [ 'name','lil' ],[ 'age','21' ],[ 'gender','male' ] }
forEach(callback,thisArg)
callback(key,value,Map)
必选,对象中每个元素都要执行的回调函数
key-当前元素的键
value-当前元素的值
Map-当前正在遍历的对象
thisArg
可选,回调函数执行时的this
的值 ,forEach()
返回值为undefined
let map = new Map()
map.set('name','lil')
map.set('age','21')
map.set('gender','male')
map.forEach((value, key)=> {
console.log(key+' = '+value)
})
//name = lil
//age = 21
//gender = male
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。