在 TypeScript 中使用索引迭代字符串
Iterate over a String with Index in TypeScript
要遍历具有索引的字符串:
- 使用扩展语法 (…) 将字符串解压缩到数组中。
- 使用该
forEach()
方法遍历数组。 - 该
forEach()
方法采用的第二个参数是当前元素的索引。
索引.ts
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 个参数:
- 阵列中的电流
element
。 index
数组中元素的。- 我们
array
在其上调用forEach()
方法的 。
该forEach
方法返回undefined
,因此它用于改变外部变量。
使用该forEach()
方法时要注意的一件重要事情是——您不能使用break
关键字来跳出循环。
如果在break
满足条件时必须使用关键字跳出循环,请改用基本for
循环。
索引.ts
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
循环有点冗长,并且在现实世界中使用得更少,因为该语言在其之上提供了越来越多的抽象。