我有一个List<String> stringValues;
,实际上是用引号括起来的数字.我想把这张单子换成List<int> intValues
张.做这件事最优雅的方式是什么?
有list.forEach()
个不返回任何内容,有iterable.expand()
个返回每个元素的可迭代数,有iterable.fold()
个只返回整个列表的一个元素.我找不到允许我通过闭包传递每个元素并返回具有闭包返回值的另一个列表的内容.
我有一个List<String> stringValues;
,实际上是用引号括起来的数字.我想把这张单子换成List<int> intValues
张.做这件事最优雅的方式是什么?
有list.forEach()
个不返回任何内容,有iterable.expand()
个返回每个元素的可迭代数,有iterable.fold()
个只返回整个列表的一个元素.我找不到允许我通过闭包传递每个元素并返回具有闭包返回值的另一个列表的内容.
使用map()
和toList()
来完成此操作.toList()
是必需的,因为map()
只返回Iterable
:
stringValues.map((val) => int.parse(val)).toList()
或更短(感谢@AlexandreArdhuin)
stringValues.map(int.parse).toList()