在 ECMAScript 2021(ES12)中,Set 和 Map 数据结构引入了默认迭代器,这让我们可以更加方便地遍历这两种数据结构。在本文中,我们将会深入探讨这个新特性,并提供一些示例代码,以帮助您更好地理解和应用它。
Set 和 Map 数据结构
在介绍默认迭代器之前,让我们先回顾一下 Set 和 Map 数据结构。
Set 是一种无序且唯一的集合,它的值可以是任意类型的。下面是一个简单的 Set 示例:
const mySet = new Set(); mySet.add(1); mySet.add(2); mySet.add(3);
Map 是一种键值对的集合,其中键和值可以是任意类型的。下面是一个简单的 Map 示例:
const myMap = new Map(); myMap.set('name', 'John'); myMap.set('age', 30); myMap.set('city', 'New York');
默认迭代器
默认迭代器是一种特殊的迭代器,它可以让我们更加方便地遍历数据结构。在 ES12 中,Set 和 Map 数据结构都引入了默认迭代器。
默认迭代器可以通过 Symbol.iterator 属性来获取。在 Set 中,它返回一个迭代器对象,可以用来遍历 Set 中的所有元素。在 Map 中,它返回一个迭代器对象,可以用来遍历 Map 中的所有键值对。
下面是一个使用默认迭代器遍历 Set 的示例:
const mySet = new Set(); mySet.add(1); mySet.add(2); mySet.add(3); for (const item of mySet) { console.log(item); }
输出结果为:
1 2 3
下面是一个使用默认迭代器遍历 Map 的示例:
const myMap = new Map(); myMap.set('name', 'John'); myMap.set('age', 30); myMap.set('city', 'New York'); for (const [key, value] of myMap) { console.log(key, value); }
输出结果为:
name John age 30 city New York
总结
在 ECMAScript 2021(ES12)中,Set 和 Map 数据结构引入了默认迭代器,这让我们可以更加方便地遍历这两种数据结构。默认迭代器可以通过 Symbol.iterator 属性来获取,在 Set 中返回一个迭代器对象,可以用来遍历 Set 中的所有元素;在 Map 中返回一个迭代器对象,可以用来遍历 Map 中的所有键值对。
希望本文能够帮助您更好地理解和应用默认迭代器这个新特性。如果您想要了解更多关于 ES12 的内容,可以参考官方文档或者其他相关资料。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/657a53e1d2f5e1655d497b9b