Set集合和Arry数组很相似,但是Set集合存储的是key也就是说Set集合中不可以存在两个值和数据类型都相等的key
Set集合不可以用下标取值
Set集合没有length属性而是size
Set集合可以通过Array.from转为真正的数组
名称 | 参数 | 类型 | 说明 |
---|---|---|---|
size | 无 | 属性 | 获取集合的长度 |
add | Object | 方法 | 往集合添加元素 |
delete | key | 方法 | 删除集合中某个元素 删除成功返回true |
has | key | 方法 | 判断key是否在集合中存在如果存在返回true |
clear | 空 | 方法 | 清空集合元素 |
forEach | function | 方法 | 遍历集合中的元素 |
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
console.log(set.size) //打印8
console.log(set.length) //打印undefined
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
console.log(set.add("qq")); //打印{"sd",68,86,38,64,"qweq",58,"68",86,"qq"} 说明添加成功了
console.log(set.add("qq")); //依旧打印{"sd",68,86,38,64,"qweq",58,"68",86,"qq"} 说明重复的并没有被添加
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
console.log(set.delete("68")); //打印true说明删除成功
console.log(set.delete("68")); //打印false说明删除失败因为集合中已经不存在"68"
console.log(set); //打印 {"sd",68,86,38,64,"qweq",58,86} "68已被删除"
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
console.log(set.has(68)); //返回true说明68在集合中存在
set.delete(68); //这里把68删除
console.log(set.has(68)); //返回false说明68在集合中不存在
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
set.clear(); //清空集合
console.log(set.size); //打印结果为0 说明集合已经被清空了
console.log(set); //打印结果{} 说明集合已经被清空了
var set = new Set(["sd",68,86,38,64,"qweq",58,"68",86]);
set.forEach(function(item,index,set){
console.log(item,index,set);
//打印结果 item是每一个集合元素的值 index与item的结果一致 set是集合本身
//在这里index和set可以不需要
})
JavaScript进阶之浅谈Map集合