我无法理解 .map 语法的可迭代类. 你能用简单的语言来表达吗?



我得到它使ListTiles在新路线上,但我在理解语法时遇到困难。请问你能用简单的语言解释一下这里发生了什么吗?

void _pushSaved() {
Navigator.of(context).push(
MaterialPageRoute<void>(
builder: (BuildContext context) {
final Iterable<ListTile> tiles = _saved.map(
(WordPair pair) {
return ListTile(
title: Text(
pair.asPascalCase,
style: _biggerFont,
),
);
},
);
final List<Widget> divided = ListTile.divideTiles(
context: context,
tiles: tiles,
).toList();
return Scaffold(
// Add 6 lines from here...
appBar: AppBar(
title: Text('Saved Suggestions'),
),
body: ListView(children: divided),
); // ... to here.
},
),
);

}

Dart中的可迭代对象(List,Map,Set等(具有"函数样式"方法,这些方法将常见类型的循环应用于其元素。map()对可迭代对象的每个元素运行一个函数,并且该函数返回的任何内容都将收集到新的可迭代对象中。

List<int> squares(List<int> numbers) {
return numbers.map((number) => number * number).toList();
}

它将Iterable<Type1>"映射"到Iterable<Type2>。尽管它们可以与我的示例相同。

最新更新