TypeScript 中如何迭代集合 Set

使用 forEach() 方法在 TypeScript 中迭代集合 Set。 forEach 方法采用一个函数,该函数为 Set 对象中的每个值调用一次。 forEach 方法返回 undefined

const set1: Set<string> = new Set(['a', 'b', 'c', 'd']);

set1.forEach((element) => {
  // ?️ a, b, c, d
  console.log(element);
});

我们使用 Set.forEach 方法对 Set 进行迭代。

我们传递给该方法的函数使用 3 个参数调用:

  • 元素值 value
  • 元素键 key
  • 要设置的对象

请注意 ,Set 对象中没有键,并且添加值以与 Map 对象和数组的 forEach 方法一致。

回调函数会为 Set 中的每个元素调用一次,即使它的值为 undefined

但是,对于已从 Set 中删除的值,不会调用该函数。

另一种方法是使用 for...of 循环。

const set1: Set<string> = new Set(['a', 'b', 'c', 'd']);

for (const element of set1) {
  // ?️ a, b, c, d
  console.log(element);
}

for...of 循环允许我们迭代可迭代对象,如 Set数组 和 Map

循环分配一个变量,该变量存储每次迭代时的当前 Set 元素。

当我们需要使用 break 关键字退出循环时,应该使用 for...of 循环,因为使用 forEach() 方法时不支持此功能。

for...of 循环仅迭代对象自身的属性,而 for...in 循环也迭代继承的属性。