TypeScript - 循环:掌握编程中的重复
你好,有抱负的程序设计师们!我很高兴能成为你们在这个激动人心的TypeScript循环世界中的向导。作为一个教授编程超过十年的人,我可以告诉你,理解循环就像学习骑自行车——一旦你掌握了它,你就永远不会忘记,它将带你到达你从未想象过的地方!
for循环:进入迭代世界的第一步
让我们从经典的for
循环开始。把它想象成一个友好的机器人,它会按照你的指示重复一个特定的任务。
基本语法
下面是一个TypeScript中的for
循环的样子:
for (let i = 0; i < 5; i++) {
console.log("你好,世界!");
}
让我们分解一下:
-
let i = 0
:这是我们开始计数的地方。 -
i < 5
:只要这是真的,我们就继续。 -
i++
:每一轮之后,我们将计数增加1。 -
{ }
内的一切是重复的内容。
当你运行这段代码时,你会看到“你好,世界!”打印了五次。就像告诉我们的机器人朋友,“说五次你好!”
一个更实际的例子
假设你正在制作一个简单的游戏,游戏中的角色需要跳过障碍物。下面是如何使用for
循环创建五个障碍物的例子:
let obstacles: string[] = [];
for (let i = 0; i < 5; i++) {
obstacles.push(`障碍物 ${i + 1}`);
console.log(`创建 ${obstacles[i]}`);
}
console.log("所有障碍物:", obstacles);
在这个例子中,我们正在创建一个障碍物数组。循环运行五次,每次向数组中添加一个新的障碍物。注意我们是如何使用i + 1
来从1而不是0开始编号我们的障碍物。
for...in循环:探索对象属性
现在,让我们来认识for...in
循环。当你想要查看一个对象的所有属性时,这个循环非常完美。就像有一个好奇的机器人,它想要窥探桌子的每一个抽屉。
基本语法
这里有一个简单的例子:
let person = {
name: "Alice",
age: 30,
job: "开发者"
};
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
这个循环会遍历person
对象中的每个属性(或“键”)并打印出来,连同它的值。这是在你不确定对象可能有哪些属性时探索对象的好方法。
一个更复杂的例子
假设你正在为一个角色扮演游戏构建一个简单的库存系统:
let inventory = {
sword: 1,
shield: 1,
potion: 5,
arrow: 20
};
console.log("你的库存:");
for (let item in inventory) {
if (inventory[item] > 1) {
console.log(`${inventory[item]} ${item}s`);
} else {
console.log(`${inventory[item]} ${item}`);
}
}
这段代码将列出你的库存,当你有多个项目时,正确地复数化项目。就像有一个可以帮助你计数和报告物品的好助手!
for...of循环:简化数组和可迭代对象的遍历
最后但并非最不重要的是,让我们介绍for...of
循环。当你想要遍历数组或任何其他可迭代对象中的每个项目时,这个循环非常完美。就像有一个机器人可以走在物品队列中,查看每一个。
基本语法
这里有一个使用数字数组的简单例子:
let numbers = [1, 2, 3, 4, 5];
for (let num of numbers) {
console.log(num * 2);
}
这个循环会遍历numbers
数组中的每个数字并打印出它的两倍值。当你只是想对每个项目做些事情时,它比传统的for
循环简单得多。
一个更有趣的例子
假设你正在创建一个简单的基于文本的冒险游戏。你有一个可能的动作数组,并想要将它们呈现给玩家:
let actions = ["战斗", "逃跑", "隐藏", "求助"];
console.log("你想要做什么?");
for (let action of actions) {
console.log(`- ${action}`);
}
// 让我们模拟一个玩家的选择
let playerChoice = actions[Math.floor(Math.random() * actions.length)];
console.log(`你选择了 ${playerChoice.toLowerCase()}.`);
这段代码向玩家展示了一系列动作,然后模拟了一个随机选择。for...of
循环使得列出所有选项而不必担心数组索引变得容易。
循环方法比较
为了帮助你选择适合你需求的正确循环,这里有一个方便的比较表:
循环类型 | 最佳用途 | 语法 |
---|---|---|
for |
已知迭代次数 | for (let i = 0; i < n; i++) |
for...in |
遍历对象属性 | for (let key in object) |
for...of |
遍历数组元素或其他可迭代对象 | for (let item of iterable) |
记住,选择正确的循环可以使你的代码更易读和高效。就像选择正确的工具做工作一样——用锤子敲钉子,用螺丝刀拧螺丝,用正确的循环处理你的数据!
总之,循环是编程中的基本概念,掌握它们将为你的编码之旅打开无限可能。无论你是重复一个动作,探索一个对象,还是处理数组,都有一个循环非常适合你的工作。继续练习,很快你就能像专业人士一样循环!未来的开发者们,祝你们编码愉快!
Credits: Image by storyset