在 TypeScript 中使用索引迭代字符串

TypeScript 中要遍历具有索引的字符串:

  1. 使用扩展语法 … 将字符串解压缩到数组中。
  2. 使用 forEach() 方法迭代数组。
  3. forEach() 方法采用的第二个参数是当前元素的索引。
const str = 'hello';

const arr: string[] = [...str];

console.log(arr); // ?️ ['h', 'e', 'l', 'l', 'o']

arr.forEach((char, index) => {
  // ?️ h 0, e 1, l 2, l 3, o 4
  console.log(char, index);
});

我们使用扩展语法 … 将字符串解压缩到一个数组中。

该数组包含字符串中的所有字符作为元素。

我们传递给 Array.forEach 方法的函数会针对数组中的每个元素进行调用。

回调函数传递以下 3 个参数:

  1. 数组中的当前元素。
  2. 数组中元素的索引。
  3. 我们调用 forEach() 方法的数组。

forEach 方法返回 undefined,因此它用于改变外部变量。

如果在满足条件时必须使用 break 关键字跳出循环,请改用基本的 for 循环。

const str = 'hello';

for (let index = 0; index < str.length; index++) {
  // ?️ h 0, e 1, l 2
  console.log(str[index], index);

  if (index === 2) {
    break;
  }
}

break 关键字使我们能够提前退出循环,并且在使用 forEach() 方法时不受支持。

除此之外,for 循环有点冗长,并且在现实世界中使用得更少,因为该语言在其之上提供了越来越多的抽象。