TypeScript - 循环:掌握编程中的重复

你好,有抱负的程序设计师们!我很高兴能成为你们在这个激动人心的TypeScript循环世界中的向导。作为一个教授编程超过十年的人,我可以告诉你,理解循环就像学习骑自行车——一旦你掌握了它,你就永远不会忘记,它将带你到达你从未想象过的地方!

TypeScript - For Loop

for循环:进入迭代世界的第一步

让我们从经典的for循环开始。把它想象成一个友好的机器人,它会按照你的指示重复一个特定的任务。

基本语法

下面是一个TypeScript中的for循环的样子:

for (let i = 0; i < 5; i++) {
console.log("你好,世界!");
}

让我们分解一下:

  1. let i = 0:这是我们开始计数的地方。
  2. i < 5:只要这是真的,我们就继续。
  3. i++:每一轮之后,我们将计数增加1。
  4. { }内的一切是重复的内容。

当你运行这段代码时,你会看到“你好,世界!”打印了五次。就像告诉我们的机器人朋友,“说五次你好!”

一个更实际的例子

假设你正在制作一个简单的游戏,游戏中的角色需要跳过障碍物。下面是如何使用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