【发布时间】:2021-08-15 10:24:52
【问题描述】:
当我们在 dart 中使用 map 函数时,我不太明白执行顺序
例如下面的代码(这个例子可能很简单,但我只是想说明我的问题)
这是试图将标题列表转换为包含所有标题的字符串
var moviesTitles = ['Inception', 'Heat', 'Spider Man'];
moviesTitles.map((title) => title).join('\n')
所以,我不确定我的理解是否正确
- 首先,map 函数将 (title) => title 应用于每个项目,然后将它们合并到一个新列表中,然后将它们与 \n
或者
- map 函数将在每个项目上应用 (title) => title,并且在每个循环中,将其附加到 \n ;然后仅在最后将它们合并为一个字符串。 顺序如下图所示
1.Inception + '\n'
2.Heat+ '\n'
3.蜘蛛侠+'\n'
最后,盗梦空间 + '\n' + Heat+ '\n' + 蜘蛛侠 + '\n'
我发现理解 no.2 更有意义,但似乎在 map 后显示 .join 的语法与此逻辑不匹配
【问题讨论】:
-
在这种情况下,
.map()调用毫无意义。代码可能只是moviesTitles.join('\n')。 -
我知道,正如我在问题中所说,这个例子可能很简单,但我只是想说明我的问题是执行顺序
标签: dictionary dart