JavaScript 中的集合类型能够帮助我们更加高效地处理数据,同时也使得程序的可读性更高。ES7 中引入了两种新的集合类型:Map
和 Set
。在本文中,我们将深入探讨这两种集合类型。
Map 类型
Map
类型是一种键值对集合类型,其中的键和值可以各自是任意类型。相比于 Object
类型,Map
类型的键可以是任何类型,而不仅仅是字符串或者 Symbol 类型。下面是 Map
类型的基本语法:
const myMap = new Map();
我们也可以使用一个包含键值对的数组来构造一个 Map
:
const myMap = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'], ]);
接下来,我们来看一下 Map
类型可以进行的操作。
添加元素
我们可以使用 set
方法向 Map
中添加元素:
myMap.set('key4', 'value4');
获取元素
我们可以使用 get
方法从 Map
中获取值:
myMap.get('key3'); // 返回 'value3'
删除元素
我们可以使用 delete
方法来删除一个键值对:
myMap.delete('key2');
检查元素是否存在
我们可以使用 has
方法来检查一个键是否存在于 Map
中:
myMap.has('key1'); // 返回 true myMap.has('key2'); // 返回 false,因为已经删除了 'key2'
迭代元素
我们可以使用 forEach
方法或者 for...of
循环来遍历 Map
中的每一个键值对:
myMap.forEach((value, key) => { console.log(key, value); }); for (const [key, value] of myMap) { console.log(key, value); }
Set 类型
Set
类型是一种无序集合类型,不允许出现重复的元素。下面是 Set
类型的基本语法:
const mySet = new Set();
我们也可以使用一个包含元素的数组来构造一个 Set
:
const mySet = new Set([1, 2, 3, 3, 4, 5]);
接下来,我们来看一下 Set
类型可以进行的操作。
添加元素
我们可以使用 add
方法向 Set
中添加元素:
mySet.add(6);
删除元素
我们可以使用 delete
方法来删除一个元素:
mySet.delete(2);
检查元素是否存在
我们可以使用 has
方法来检查一个元素是否存在于 Set
中:
mySet.has(3); // 返回 true mySet.has(2); // 返回 false,因为已经删除了 2
迭代元素
我们可以使用 forEach
方法或者 for...of
循环来遍历 Set
中的每一个元素:
mySet.forEach(element => { console.log(element); }); for (const element of mySet) { console.log(element); }
总结
在本文中,我们深入地探讨了 JavaScript 中的两种新集合类型:Map
和 Set
。这两种集合类型能够帮助我们更加高效地处理数据,并且能够使程序更加易读易懂。我们通过示例代码展示了 Map
和 Set
类型可以进行的操作,包括添加、获取、删除、检查元素是否存在以及迭代元素。我们相信本文能够对大家在学习和使用 JavaScript 中的集合类型时提供一定的帮助和指导。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6582db16d2f5e1655ddeb6ac