Dart转换列表的每个元素

Gaz*_*kus 5 iterable list dart

我有一个List<String> stringValues;实际上是引号中的数字.我想将此列表转换为List<int> intValues.这是一种优雅的方式吗?

list.forEach()没有返回任何东西,有iterable.expand()每个元素返回一个iterable,iterable.fold()只返回整个列表的一个元素.我找不到允许我通过闭包传递每个元素并返回另一个具有闭包返回值的列表的东西.

Gün*_*uer 14

使用map()toList()为此.toList()是必要的,因为map()只返回Iterable:

stringValues.map((val) => int.parse(val)).toList()
Run Code Online (Sandbox Code Playgroud)

或更短(感谢@AlexandreArdhuin)

stringValues.map(int.parse).toList()
Run Code Online (Sandbox Code Playgroud)

Dartpad的例子

  • 您也可以使用`stringValues.map(int.parse).toList()`作为速记. (2认同)