每种编程语言都提供迭代功能。For循环是进行迭代的一种方式。
Typescript也提供了执行代码块的特定时间的循环。For 循环是用来迭代数组、地图、集合和对象中的元素。
我们有很多方法可以进行元素迭代的for循环。
Typescript为迭代提供了不同的变化。
forLoop 语法
for(initial value; condtion: countervalue){
// code block
}
这包含for 关键字,后面是四个语句,包括小括号。
三个语句用大括号括起来,用分号隔开。
初始值是用来初始化的。
条件表达式。它检查并返回真值,如果为真,则执行代码块语句。如果为假,则for循环中断执行。
计数器值 - 用来增加/减少变量的值
for 循环示例
在这个循环中,首先它被初始化为i=1,只要条件i<=5为真,代码块主体就会执行,并且使用i++将i值增加1。这个循环执行了5次,输出字符串'test'5次。
for (var i = 1; i <= 5; i++){
console.log('test')
}
限制条件
- break和continue关键字在此循环中不起作用。
- 循环中不使用return关键字来返回值。
For...in 循环示例
这是使用索引对数组进行迭代的另一种方法。这是用来迭代可枚举对象的。任何具有可枚举元素属性的对象,如数组、JSON字符串的可枚举对象都是一种对象属性。
语法
for(var variable in collection){
}
使用var或let关键字声明变量,变量的类型是字符串或数字或任何支持的类型。
例子
let arrayData = [8, 9, 13];
for (let element in arrayData) {
console.log(typeof(element)); //string string string
console.log(element); //0 1 2
console.log(arrayData[element]); //8 9 13
}
限制
- 实际上,它不会对元素进行迭代,而是对对象的键进行迭代。在数组的情况下,你会得到索引,而不是实际的元素。
- value是一个索引,它的类型是字符串,而不是数字,所以当你用这个值添加数字时,给出的是附加值而不是添加数字。
for...的循环
Es6有for...of循环,Typescript也引入了同样的for...of循环机制 For of循环是用来对可迭代的对象如数组和字符串进行迭代。这里的对象是可迭代的,包括字符串、数组。
语法
for(let/var variable of object){}
例子
let str = "This is for...of loop example";
for (var character of str) {
console.log(character); // This is for...of loop example
}
这是一种简单易行的迭代方式。所有关于for和for...in循环的限制都可以用这个来解决。
限制
- return、break、continue关键字的作用与预期相同。
- for...的循环只对字符串和数组的迭代起作用。这个限制将在未来的typescript版本中被移除。