📅  最后修改于: 2023-12-03 15:35:24.489000             🧑  作者: Mango
TypeScript 中的循环类型可以方便的处理数组和对象型数据的迭代操作。下面将对常用的循环类型进行介绍。
for...of
循环可以用于迭代数组、字符串、Map、Set 等数据结构。
const arr = [1, 2, 3];
for (const item of arr) {
console.log(item);
}
// Output:
// 1
// 2
// 3
const str = 'hello';
for (const char of str) {
console.log(char)
}
// Output:
// h
// e
// l
// l
// o
const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
for (const [key, value] of map) {
console.log(`${key}: ${value}`);
}
// Output:
// key1: value1
// key2: value2
for...in
循环可以用于迭代对象上的可枚举属性。注意不要在数组上使用 for...in
,因为它将遍历数组元素和新增属性。
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
console.log(`${key}: ${obj[key]}`);
}
// Output:
// a: 1
// b: 2
// c: 3
forEach
方法是数组的原生方法,它接受一个回调函数作为参数,会遍历数组中的每一项并对其进行处理。
const arr = [1, 2, 3];
arr.forEach((item) => {
console.log(item);
});
// Output:
// 1
// 2
// 3
for
循环是传统的循环方式,用于循环指定次数。
for (let i = 0; i < 3; i++) {
console.log(i);
}
// Output:
// 0
// 1
// 2
while
循环在条件为 true 时会一直执行代码块。
let i = 0;
while (i < 3) {
console.log(i);
i++;
}
// Output:
// 0
// 1
// 2
do...while
循环会先执行一次代码块,之后在条件为 true 时继续执行。
let i = 0;
do {
console.log(i);
i++;
} while (i < 3);
// Output:
// 0
// 1
// 2
以上就是 TypeScript 中常用的循环类型,它们的语法与 JavaScript 基本相同,但在一些边界情况下有一些微妙的差异,需要注意。同时,使用循环时应当注意控制循环次数、避免误用循环类型等常见问题。