Typescript的官方文档 Iterators and Geneators Link

方法一、for..of

这个貌似是最常用的方法,angular 2中HTML语法绑定也是要的这种语法。

let someArray = [1, "string", false];

for (let entry of someArray) {
    console.log(entry); // 1, "string", false
}

方法二、for循环

for循环其实是标准的C风格语法。

let someArray = [1, "string", false];

for (var i = 0; i < someArray.length; i ++) {
    console.log(someArray[i]); // 1, "string", false
}

方法三、for..in

官方文档上强调了for…in和for…of的区别:

let list = [4, 5, 6];

for (let i in list) {
   console.log(i); // "0", "1", "2",
}

for (let i of list) {
   console.log(i); // "4", "5", "6"
}

方法四、forEach

forEach其实是JavaScript的循环语法,TypeScript作为JavaScript的语法超集,当然默认也是支持的。

let list = [4, 5, 6];
list.forEach((val, idx, array) => {
    // val: 当前值
    // idx:当前index
    // array: Array
});

方法五、every和some

every和some也都是JavaScript的循环语法,TypeScript作为JavaScript的语法超集,当然默认也是支持的。因为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
});

是为之记。
Alva Chien
2016.9.8