Dart 转换列表的每个元素

Posted

技术标签:

【中文标题】Dart 转换列表的每个元素【英文标题】:Dart convert every element of list 【发布时间】:2016-09-30 14:23:03 【问题描述】:

我有一个List<String> stringValues;,实际上是引号中的数字。我想将此列表转换为List<int> intValues。有什么优雅的方法可以做到这一点?

list.forEach() 不返回任何内容,iterable.expand() 为每个元素返回一个可迭代对象,iterable.fold() 仅返回整个列表的一个元素。我找不到可以让我通过闭包传递每个元素并返回另一个具有闭包返回值的列表的东西。

【问题讨论】:

【参考方案1】:

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

stringValues.map((val) => int.parse(val)).toList()

或更短(感谢@AlexandreArdhuin)

stringValues.map(int.parse).toList()

Dartpad example

【讨论】:

你也可以使用stringValues.map(int.parse).toList()作为简写。 我总是希望能做到这一点。感谢您的提示。

以上是关于Dart 转换列表的每个元素的主要内容,如果未能解决你的问题,请参考以下文章

在 Polymer.dart 中定义全局过滤器/变压器

使用 Dart 有条件地返回 Map() 中的元素

将列表的每个元素中的列转换为字符串

如何将具有元素数组的每个对象的对象列表转换为具有子元素作为属性的对象数组

Flutter Dart:如何使用 2 个键将 List 转换为 Map

在 Dart 和 JavaScript 之间传递对象列表 — 将 List<dynamic> 转换为 List<GeocodeResult>