中国建设局网站查询,产品营销推广方式,临海做网站公司,科技布是什么面料Set 数据结构 Set 对象允许你存储任何类型的唯一值#xff0c;无论是原始值还是对象引用。 特性#xff1a;
所有值都是唯一的#xff0c;没有重复。值的顺序是根据添加的顺序确定的。可以使用迭代器遍历 Set。
常用方法#xff1a; 1. add(value)#xff1a;添加一个新…Set 数据结构 Set 对象允许你存储任何类型的唯一值无论是原始值还是对象引用。 特性
所有值都是唯一的没有重复。值的顺序是根据添加的顺序确定的。可以使用迭代器遍历 Set。
常用方法 1. add(value)添加一个新值到 Set。 2. delete(value)从 Set 中移除一个值。 3. has(value)检查 Set 是否包含某个值。 4. clear()移除 Set 中的所有值。 5. size返回 Set 中的元素数量。
示例
let set new Set();// 添加值
set.add(1);
set.add(hello);
set.add({ name: Alice });// 检查值是否存在
console.log(set.has(1)); // 输出true
console.log(set.has(hello)); // 输出true
console.log(set.has(2)); // 输出false// 删除值
set.delete(1);
console.log(set.has(1)); // 输出false// 遍历 Set
for (let item of set) {console.log(item);
}// 清空 Set
set.clear();
console.log(set.size); // 输出0Map 数据结构 Map 对象保存键值对的集合其中键和值可以是任意类型。 特性
任何值对象或原始值都可以作为键或值。保持键的顺序按照元素的插入顺序进行迭代。比对象更适合用作某些类型的键如对象或函数。
常用方法
set(key, value)将键和值存入 Map。get(key)根据键获取值。has(key)检查 Map 是否包含某个键。delete(key)根据键删除键值对。clear()移除 Map 中的所有键值对。size返回 Map 中的元素数量。
示例
let map new Map();// 添加键值对
map.set(key1, value1);
map.set(1, number);
map.set({ name: Bob }, object);// 通过键获取值
console.log(map.get(key1)); // 输出value1
console.log(map.get(1)); // 输出number// 检查键是否存在
console.log(map.has(key1)); // 输出true
console.log(map.has(2)); // 输出false// 删除键值对
map.delete(1);
console.log(map.has(1)); // 输出false// 遍历 Map
for (let [key, value] of map) {console.log(${key}: ${value});
}// 清空 Map
map.clear();
console.log(map.size); // 输出0扩展特性
WeakSet 和 WeakMap类似于 Set 和 Map但是它们存储的键是弱引用这意味着它们不会被垃圾回收机制考虑如果外部没有对这些键的引用它们会被自动回收。 WeakSet 代码示例
let weakSet new WeakSet();let obj {};
weakSet.add(obj);// 由于obj是唯一的WeakSet不能添加重复的对象
console.log(weakSet.has(obj)); // 输出true// 当obj没有被其他地方引用时它会被垃圾回收
obj null;
// weakSet中的obj也会被自动移除
console.log(weakSet.has(obj)); // 输出falseWeakMap 代码示例
let weakMap new WeakMap();let keyObj {};
weakMap.set(keyObj, value);// 获取与键相关联的值
console.log(weakMap.get(keyObj)); // 输出value// WeakMap中的键是弱引用当keyObj没有被其他地方引用时它会被垃圾回收
keyObj null;
// weakMap中的键值对也会被自动移除
console.log(weakMap.get(keyObj)); // 输出undefinedSet 和 Map 提供了现代的、高效的数据结构适用于需要快速查找、添加和删除操作的场景。使用这些数据结构可以编写出更简洁、更高效的代码。