本节知识点
- set的声明 参数只能是数组
- set的增加 删 改 查
- weakSet同set只不过存储的是对象。用的不多,所以不再介绍.
set的声明
set 尽管长得像数组但是它不是数组,他就是一堆没有键名只有键值的对象.内部不允许有重复,要是有则只显示一个,相当于去重。虽然set很像数组,但是它真的不是数组
类似下面的结构
{"哈哈","呵呵","嘿嘿"}
先说声明
let setArr = new Set([1,"222",{name:"哈哈"},1,"222"]);
console.log(setArr);
console.log(typeof setArr);
输出结果就是{1,"222",{name:"haha"}}
set的增加
- 追加add:
let setArr = new Set([1,"222",{name:"哈哈"},1,"222"]);
setArr.add("前端开始");
console.log(setArr);
这样就在后面增加了一个前端开始
- 删除delete
let setArr = new Set([1,"222",{name:"哈哈"},1,"222"]);
setArr.add("前端开始");
setArr.delete("222");
console.log(setArr);
这样就删除"222"这个选项
- 查找
let setArr = new Set([1,"222",{name:"哈哈"},1,"222"]);
let result = setArr.has("222");
console.log(result);
console.log(setArr);
输出第一个结果就是true 第二个结果就是一个对象
- 清空
let arr = [1,"aaa","bbb","ccc",4];
let setarr = new Set(arr);
setarr.clear();
console.log(setarr);
这样就是清空
- set的循环 for ....of ...
let arr = [1,"aaa","bbb","ccc",4];
let setarr = new Set(arr);
for(let[index,value] of setarr.entries())
{
console.log(value);
}