深圳手机网站制作公司,2022加盟项目排行榜,所得税汇算清缴在哪个网站做,壁纸网站模板一、Map()
1.1 简介 ES6 提供了 Set 数据结构#xff0c;它类似于数组#xff0c;但是值是唯一没有重复的。
我们可以通过 new Set()去创建它。
1.2. Set的创建、设置与获取 script const set new Set(); console.log(set.add(1)); //Set { 1 } …一、Map()
1.1 简介 ES6 提供了 Set 数据结构它类似于数组但是值是唯一没有重复的。
我们可以通过 new Set()去创建它。
1.2. Set的创建、设置与获取 script const set new Set(); console.log(set.add(1)); //Set { 1 } const arr [1, 2, 3, 4, 5]; console.log(set.add(arr)); //Set { 1, [1, 2, 3, 4, 5] } console.log([...set]); //[1, [1, 2, 3, 4, 5]] /script 1.3 Set()的一些方法 1.size 返回 Set 结构的成员总数。
2.has 方法返回一个布尔值表示某个值是否在当前 Set 集合之中。
3.delete 删除一个值成功返回 true失败即该值不在 Set 中返回 false。
4.clear 清除 Set 集合中的所有成员。 script // 创建一个 Set const mySet new Set(); mySet.add(1); mySet.add(hello); mySet.add({ id: 1 }); // 1. 获取Set的大小成员总数 console.log(mySet.size); // 输出3 // 2. 判断值是否存在 console.log(mySet.has(1)); // 输出true console.log(mySet.has(world)); // 输出false // 3. 删除一个值 console.log(mySet.delete(hello)); // 输出true console.log(mySet.has(hello)); // 输出false // 4. 清除所有成员 mySet.clear(); console.log(mySet.size); // 输出0 /script 1.4 遍历Set 1.Set.prototype.keys()返回键名的遍历器
2.Set.prototype.values()返回键值的遍历器
3.Set.prototype.entries()返回键值对的遍历器
4.Set.prototype.forEach()使用回调函数遍历每个成员 script // 创建一个 Set const mySet new Set([a, b, c]); // 使用 keys() 方法遍历 Set for (const item of mySet.keys()) { console.log(item); } // a b c // 使用 values() 方法遍历 Set for (const value of mySet.values()) { console.log(value); } // a b c // 使用 entries() 方法遍历 Set for (const entry of mySet.entries()) { console.log(entry); } // [a, a] [b, b] [c, c] // 使用 forEach() 方法遍历并处理 Set 中的每个成员 mySet.forEach((item) { console.log(Processing ${item}); }); // Processing a Processing b Processing c /script 1.5 Set()的应用 script //数组去重 const mySet new Set([1, 1, 2, 3, 4, 5, 5, 6]); console.log([...mySet]); // [1, 2, 3, 4, 5, 6] //字符串去重 console.log([...new Set(ababbc)].join()); // abc /script 注意未展开的数组无法去重需要先扁平化 script const arr [ [1, 2, 3], [2, 5, 6], [2, 8, 9], ]; console.log(new Set(arr)); //Set(3) { [ 1, 2, 3 ], [ 2, 5, 6 ], [ 2, 8, 9 ] } console.log([...new Set(arr.flat())]); //[ 1, 2, 3, 5, 6, 8, 9 ] /script
二、WeakSet 2.1 简介 WeakSet 结构与 Set 类似也是不重复的值的集合。它和Set主要有以下区别
1.WeakSet 的成员只能是对象和 Symbol 值而不能是其他类型的值。
2.WeakMap其键值对之间是弱引用关系。对于WeakMap中的键如果除了WeakMap之外没有任何其他强引用指向该键所在的对象则垃圾回收器可以在下一次垃圾回收周期中回收这个键所指向的对象即使WeakMap还持有该键值对。
2.2 基本使用 script const a [ [1, 2], [3, 4], ]; const ws new WeakSet(a); console.log(ws); //{1, 2}, {3, 4} ws.add(5);//报错 /script