在 ES6 中,新增了两种数据结构 Set 和 Map,这两种数据结构分别可以用来存储唯一值和键值对,相比于传统的数组和对象,它们拥有更加高效的查找和操作方式,同时也提供了更加优雅的语法和 API。
Set 数据结构
Set 数据结构类似于数组,但是它的每个元素都是唯一的,不会出现重复值。它提供了以下几个常用的方法:
add(value)
:向 Set 中添加一个元素。delete(value)
:从 Set 中删除一个元素。has(value)
:判断 Set 中是否包含某个元素。clear()
:清空 Set 中的所有元素。size
属性:返回 Set 中元素的个数。
下面是一个简单的示例代码:
// javascriptcn.com 代码示例 let set = new Set(); set.add(1); set.add(2); set.add(3); set.add(2); // Set 中不会出现重复值 console.log(set.has(2)); // true console.log(set.size); // 3 set.delete(2); console.log(set.has(2)); // false console.log(set.size); // 2 set.clear(); console.log(set.size); // 0
Map 数据结构
Map 数据结构类似于对象,但是它的键可以是任意类型的,不仅仅是字符串和 Symbol。它提供了以下几个常用的方法:
set(key, value)
:向 Map 中添加一个键值对。get(key)
:获取 Map 中指定键的值。delete(key)
:从 Map 中删除指定键的键值对。has(key)
:判断 Map 中是否包含某个键。clear()
:清空 Map 中的所有键值对。size
属性:返回 Map 中键值对的个数。
下面是一个简单的示例代码:
// javascriptcn.com 代码示例 let map = new Map(); map.set('name', '张三'); map.set('age', 18); map.set(1, 'one'); map.set({}, 'object'); console.log(map.get('name')); // 张三 console.log(map.get(1)); // one console.log(map.get({})); // object console.log(map.has('name')); // true console.log(map.has('gender')); // false map.delete('age'); console.log(map.size); // 3 map.clear(); console.log(map.size); // 0
总结
Set 和 Map 是 ES6 中新增的数据结构,它们分别用来存储唯一值和键值对。它们提供了更加高效的查找和操作方式,同时也提供了更加优雅的语法和 API。在实际开发中,我们可以根据具体的需求选择使用 Set 或者 Map,以提高代码的可读性和效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6566d304d2f5e1655dfc71ab