for...in
-
var j:any; var n:any = "a b c" for(j in n) { console.log(n[j]) }
for…of
创建一个循环来迭代可迭代的对象。
在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach(),并支持新的迭代协议
for...of 允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等
-
let someArray = [1, "string", false]; for (let entry of someArray) { console.log(entry); // 1, "string", false }
- forEach、every 和 some 是 JavaScript 的循环语法,TypeScript 作为 JavaScript 的语法超集,当然默认也是支持的
-
let list = [4, 5, 6]; list.forEach((val, idx, array) => { // val: 当前值 // idx:当前index // array: Array });
因为 forEach 在 iteration 中是无法返回的,所以可以使用 every 和 some 来取代 forEach
-
let list = [4, 5, 6]; list.every((val, idx, array) => { // val: 当前值 // idx:当前index // array: Array return true; // Continues // Return false will quit the iteration });
do...while 循环
不像 for 和 while 循环,它们是在循环头部测试循环条件。do...while 循环是在循环的尾部检查它的条件
条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次
如果条件为 true,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止
-
do { statement(s); }while( condition );