flutter - Dart-lang,我如何映射列表列出结合元素?
问题描述
我有一个清单
最终列表列表 = [1, 2, 3, 4, 5, 6, 7];
我怎样才能“映射”到输出作为一个新的列表,如:
"1 and 2",
"3 and 4",
"5 and 6",
"7"
解决方案
您可以使用以下函数来实现:
_getComponents(list) => list.isEmpty ? list :
([list
.take(2)
.join(' and ')
]..addAll(_getComponents(list.skip(2))));
像这样调用该函数:
List outPut = _getComponents(yourList);
解释:
- 您正在声明一个名为的递归函数
_getComponents
- 作为第一条语句,您正在检查参数列表是否为空,如果为空,则按原样返回参数
- 如果列表不为空
- 您正在使用take函数从列表中获取前 2 个项目
- 您正在使用join函数加入这些元素
- 您正在调用addAll函数并提供递归 _getComponents 调用的结果作为它的参数
- 作为 _getComponents 函数的参数,您在使用skip函数跳过前 2 个元素后传递列表