0Pricing
Dart Academy · 课时

使用 for-in 遍历集合

无需索引即可访问每个项目

使用 for-in 遍历集合 是 CoddyKit 上的免费 Dart Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Dart Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Dart Academy 课程共包含 4 节课。

跳过索引

很多时候,您只需要每一项,而不需要它的位置。for-in 循环会逐项提供元素,无需管理计数器。✨

for-in 的结构

依次写出 for、变量名、关键字 in,然后写集合。每次循环都会将变量绑定到下一个元素。

for (var item in items) {
  print(item);
}

遍历列表

将 for-in 指向一个列表,它就会按顺序访问每个元素,从头到尾进行遍历,无需您处理 length 或方括号。

var fruits = ['apple', 'pear'];
for (var f in fruits) {
  print(f);
}

比索引访问更简洁

与经典 for 循环相比,for-in 去除了计数器、长度检查和方括号查找。代码更少意味着错误更少。

for (var f in fruits) {
  print(f);
}

带类型的循环变量

为了提高可读性,您可以指定类型,而不是使用 var。这里,循环遍历列表时,每个元素都明确声明为 String。

for (String name in names) {
  print(name);
}

遍历集合

集合也可以与 for-in 一起使用。您会依次获得每个不重复的值,但顺序不像列表那样有保证。

var ids = {1, 2, 3};
for (var id in ids) {
  print(id);
}

任意可迭代对象

for-in 不仅适用于列表和集合,也适用于任何可迭代对象,包括范围、映射的键,以及 map 或 where 的结果。

for (var k in scores.keys) {
  print(k);
}

遍历映射条目

要遍历 Map,请遍历它的条目。每个条目都会提供一个键和一个值,让您在一次循环中同时读取它们。

for (var e in scores.entries) {
  print('${e.key}: ${e.value}');
}

养成只读习惯

请将循环变量视为每个值的副本。重新赋值不会改变原集合中的元素。

for (var n in nums) {
  n = n * 2; // does not change nums
}

遍历时不要修改集合

在 for-in 期间向集合添加或移除项目会引发错误。请改为创建一个新列表,或遍历副本。

for (var x in list) {
  // list.add(x); // throws!
}

forEach 替代方案

forEach 方法通过回调执行相同的工作。for-in 通常更清晰,并且支持 break 和 continue。

fruits.forEach((f) => print(f));

快速检查

您想打印 List 中的每个值,但不想管理索引。最简洁的选择是什么?

回顾

您学会了for-in 循环:无需计数器即可访问任意可迭代对象中的每一项。现在可以简洁地遍历列表、集合和映射条目。🎯

常见问题解答

「使用 for-in 遍历集合」课时是免费的吗?

是的 — 「使用 for-in 遍历集合」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Dart Academy 课程的其余内容,请升级到 CoddyKit PRO。 Dart Academy 课程共包含 4 节课。

「使用 for-in 遍历集合」这节课中我会学到什么?

无需索引即可访问每个项目 你通过在浏览器中直接运行的动手代码来练习 Dart Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Dart Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Dart Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 for-in 遍历集合」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Dart Academy 课中编写并运行代码吗?

能。每节 Dart Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 经典 for 循环
  2. while 和 do-while 循环
  3. 使用 for-in 遍历集合
  4. break、continue 和标签
← 返回 Dart Academy