set 相似于数组,没有重复的元素,开发中可用于 去重操做,它的key和value相等
初始化一个set集合javascript
let set = new Set([1,2,3,4,4]); console.log(set); // Set { 1, 2, 3, 4 }
一个属性java
size数组
返回集合的长度(去重后的长度)
console.log(set.size) // 4
四个方法code
add()对象
添加一个元素
set.add('小明')
链式添加多个元素
set.add('小明').add('小华')
delete()ip
删除一个元素
set.delete('小明')
has()开发
判断set集合中是否存在该元素 返回true/false
set.has('小明');
clear()字符串
清除set集合中的全部元素
set.clear()
没有返回值
console.log(set.clear()) // undefined
map相似于对象,本质上是键值对的集合。字符串、对象均可以看成键
初始化一个map集合get
let map = new Map( [ ['name', '张三'], ['age', 14], ['age', 12], ] )
能够去重,上述代码中的age将被覆盖成12
注意事项:console
去重只针对于map集合的键是基本数据类型。对于Object这种复杂的数据类型不去重
let map = new Map( [ ['name', '张三'], ['age', 14], ['age', 12], [{}, '123'], [{}, '456'], ] )
属性
console.log(map.size)
一些方法
set()
设置键值对
map.set('height', 1.78)
get()
经过键名获取元素
console.log(map.get('height')); // 1.78
delete()
删除一个键值对
map.delete('height')
has()
判断是否有该键值
console.log(map.has('height'));
clear()
清除map集合中的数据
map.clear()
keys(), values(), entries()
console.log(map.keys()); // [Map Iterator] { 'name', 'age' } console.log(map.values()); // [Map Iterator] { '张三', 12 } console.log(map.entries()); // [Map Iterator] { [ 'name', '张三' ], [ 'age', 12 ] }
map.forEach((value, index) => { console.log(value); console.log(index); })