image.png
// Set数据结构,注意这里不是数据类型,而是数据结构
// Set和Array 的区别是Set不允许内部有重复的值,如果有只显示一个,
// 相当于去重。虽然Set很像数组,但是他不是数组。
let s=[2,3,4,5,6,6,6,5,7]
let st=new Set(s);
console.log(st)
let setArr1 = new Set(['jspang','技术胖','web','jspang']);
console.log(setArr1);//Set {"jspang", "技术胖", "web"}
// 追加add:
setArr1.add('前端职场');
console.log(setArr1);
let setArr = new Set(['jspang','技术胖','web','jspang']);
console.log(setArr);//Set {"jspang", "技术胖", "web"}
// 删除delete:
setArr.add('前端职场');
console.log(setArr); //Set {"jspang", "技术胖", "web", "前端职场"}
setArr.delete('前端职场');
console.log(setArr); //Set {"jspang", "技术胖", "web"}
// 用has进行值的查找,返回的是true或者false。
let setArr2 = new Set(['jspang','技术胖','web','jspang']);
console.log(setArr2);//Set {"jspang", "技术胖", "web"}
console.log(setArr2.has('jspang'));//true
// set的循环 for…of…循环:
let setArr3 = new Set(['jspang','技术胖','web','jspang']);
for (let item of setArr3){
console.log(item);
}
// size属性可以获得Set值的数量。
let setArr4 = new Set(['jspang','技术胖','web','jspang']);
for (let item of setArr4){
console.log(item);
}
console.log(setArr4.size);
// forEach循环
let setArr5 = new Set(['jspang','技术胖','web','jspang']);
setArr5.forEach((value)=>console.log(value));
// WeakSet的声明 这里需要注意的是,如果你直接在new 的时候就放入值,将报错。
let weakObj=new WeakSet();
let obj={a:'jspang',b:'技术胖'}
weakObj.add(obj);
console.log(weakObj);
// WeakSet里边的值也是不允许重复的,我们来测试一下。
let weakObj2=new WeakSet();
let obj2={a:'jspang',b:'技术胖'}
let obj1=obj2;
weakObj2.add(obj2);
weakObj2.add(obj1);
console.log(weakObj2);
网友评论