在 TypeScript 中使用索引遍历数组
Iterate over an Array with Index in TypeScript
使用该forEach()
方法迭代具有索引的数组,例如
arr.forEach((element, index) => {})
。回调函数采用的第二个参数是数组中元素的索引。
索引.ts
const arr: string[] = ['one', 'two', 'three']; arr.forEach((element, index) => { // 👇️ one 0, two 1, three 2 console.log(element, index); });
我们传递给
Array.forEach
方法的函数会针对数组中的每个元素进行调用。
回调函数传递以下 3 个参数:
- 阵列中的电流
element
。 index
数组中元素的。- 我们
array
在其上调用forEach()
方法的 。
该forEach
方法返回undefined
,因此它用于改变外部变量。
如果您需要使用索引遍历数组,但每次迭代都返回一个值,请改用
Array.map
方法。
索引.ts
const arr: string[] = ['one', 'two', 'three']; const result = arr.map((element, index) => { return element + index; }); // 👇️ ['one0', 'two1', 'three2'] console.log(result);
我们传递给该map()
方法的函数会针对数组中的每个元素进行调用,并传递与 相同的参数forEach()
。
该
map()
方法返回一个新数组,其中包含我们从回调函数返回的元素。使用该forEach()
方法时要注意的一件重要事情是——您不能使用break
关键字来跳出循环。
如果在break
满足条件时必须使用关键字跳出循环,请改用基本for
循环。
索引.ts
const arr: string[] = ['one', 'two', 'three']; for (let index = 0; index < arr.length; index++) { // 👇️ one 0, two 1 console.log(arr[index], index); if (index === 1) { break; } }
基本
的 for
循环不像 using 那样优雅forEach()
,但使我们能够在break
满足条件时使用关键字跳出循环。