返回

Map 和 Set:ES6 中用于组织数据的结构

前端

ES6 中的 Map 和 Set

在 ES6 中,Map 和 Set 是两个强大的数据结构,它们可以帮助你组织和管理数据。Map 对象用于保存键值对,它的键可以是任意类型的数据,包括对象、数组和函数。Set 对象则用于保存唯一值,它可以防止重复值的出现。

Map 的使用

Map 对象的键可以是任何类型的数据,它的值也可以是任何类型的数据。你可以使用 set() 方法来设置键值对,使用 get() 方法来获取键对应的值,使用 has() 方法来检查键是否存在,使用 delete() 方法来删除键值对,使用 clear() 方法来清空 Map 对象。

const map = new Map();
map.set('name', '张三');
map.set('age', 20);
console.log(map.get('name')); // "张三"
console.log(map.has('age')); // true
map.delete('age');
console.log(map.has('age')); // false
map.clear();
console.log(map.size); // 0

Set 的使用

Set 对象的元素必须是唯一值,如果重复添加相同的值,它将被忽略。你可以使用 add() 方法来添加元素,使用 has() 方法来检查元素是否存在,使用 delete() 方法来删除元素,使用 clear() 方法来清空 Set 对象。

const set = new Set();
set.add('张三');
set.add('李四');
set.add('张三'); // 重复添加,被忽略
console.log(set.has('张三')); // true
set.delete('李四');
console.log(set.has('李四')); // false
set.clear();
console.log(set.size); // 0

Map 和 Set 的比较

Map 和 Set 都可以用于组织和管理数据,但它们也有区别。Map 可以保存键值对,而 Set 只保存唯一值。Map 的键可以是任何类型的数据,而 Set 的元素必须是唯一值。Map 可以使用 get() 方法来获取键对应的值,而 Set 没有此方法。Map 和 Set 都可以使用 add()has()delete()clear() 方法。

结论

Map 和 Set 是 ES6 中两个强大的数据结构,它们可以帮助你组织和管理数据。Map 可以保存键值对,而 Set 只保存唯一值。你可以根据自己的需要选择使用哪种数据结构。