Set(集合):
Set 是一种存储唯一值的集合,不允许重复。
创建 Set:
let mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(3);
console.log(mySet); // 输出:Set { 1, 2, 3 }
方法和操作:
- add(value): 添加一个值到集合。
- delete(value): 从集合中删除一个值。
- has(value): 判断集合中是否包含某个值。
- clear(): 清空集合。
- size: 返回集合中元素的个数。
mySet.add(4);
console.log(mySet.has(2)); // 输出:true
mySet.delete(2);
console.log(mySet); // 输出:Set { 1, 3, 4 }
console.log(mySet.size); // 输出:3
mySet.clear();
console.log(mySet); // 输出:Set {}
Map(映射):
Map 是一种存储键值对的集合,键可以是任意数据类型。
创建 Map:
let myMap = new Map();
myMap.set('name', 'John');
myMap.set('age', 25);
console.log(myMap); // 输出:Map { 'name' => 'John', 'age' => 25 }
方法和操作:
- set(key, value): 设置键值对。
- get(key): 获取指定键的值。
- delete(key): 删除指定键值对。
- has(key): 判断是否包含指定键。
- clear(): 清空 Map。
- size: 返回 Map 中键值对的个数。
myMap.set('city', 'New York');
console.log(myMap.get('name')); // 输出:John
myMap.delete('age');
console.log(myMap); // 输出:Map { 'name' => 'John', 'city' => 'New York' }
console.log(myMap.has('age')); // 输出:false
console.log(myMap.size); // 输出:2
myMap.clear();
console.log(myMap); // 输出:Map {}
遍历 Set 和 Map:
Set 和 Map 都支持 forEach 方法用于遍历元素。
遍历 Set:
mySet.forEach(value => console.log(value));
// 输出:
// 1
// 3
// 4
遍历 Map:
myMap.forEach((value, key) => console.log(`${key}: ${value}`));
// 输出:
// name: John
// city: New York
Set 和 Map 提供了一种更灵活的数据结构,适用于需要存储唯一值集合或键值对集合的场景。
转载请注明出处:http://www.zyzy.cn/article/detail/4673/ES6