# TypeScript `for…of`循环

> 原文： [https://howtodoinjava.com/typescript/for-of-loop/](https://howtodoinjava.com/typescript/for-of-loop/)

在 TypeScript 中，可以使用`for...of`循环遍历可迭代对象（包括`array`，`map`，`set`，`string`和`arguments`对象等）。 要进行迭代，对象必须实现`@@iterator`方法。

## 遍历数组

使用`'for...of'`迭代`array`元素的示例。

```java
let myArray = [10, 20, 30]; 

for (let value of myArray) { 
  console.log(value); 	//10 20 30
} 

```

## 遍历映射

使用`'for...of'`迭代`map`条目的示例。

```java
let map = new Map();
map.set("A",1);
map.set("B",2);
map.set("C",3);	

//Iterate over map keys
for (let key of map.keys()) {
    console.log(key);					//A B C
}

//Iterate over map values
for (let value of map.values()) {
    console.log(value);					//1 2 3
}

//Iterate over map entries
for (let entry of map.entries()) {
    console.log(entry[0], entry[1]);	//"A" 1 "B" 2 "C" 3
}

//Using object destructuring
for (let [key, value] of map) {
    console.log(key, value);			//"A" 1 "B" 2 "C" 3
} 

```

## 遍历集合

使用`'for...of'`迭代`set`条目的示例。

```java
let mySet = new Set();
mySet.add('A');
mySet.add('B');
mySet.add('C');

//Iterate over set 
for (let entry of mySet) {
    console.log(entry);		//A B C
}

```

## 遍历字符串

使用`'for...of'`迭代`string`的示例。 在迭代期间，您将在每个循环周期中从`string`中获得一个字符。

```java
let blogName:string = "howtodoinjava.com";

//Iterate over set 
for (let character of blogName) {
    console.log(character);		//howtodoinjava.com
}

```

将我的问题放在评论部分。

学习愉快！