当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Dart ListQueue.map用法及代码示例


dart:collection 库中ListQueue.map 方法的用法介绍如下。

用法:

Iterable<T> map<T>(
   T toElement(
   E element   
)   
)
      inherited

此迭代的当前元素由 toElement 修改。

返回一个新的惰性 Iterable,其中的元素是通过按迭代顺序在此 Iterable 的每个元素上调用 toElement 创建的。

返回的iterable是惰性的,所以它不会迭代这个iterable的元素,直到它本身被迭代,然后它会应用toElement一次创建一个元素。转换后的元素不会被缓存。对返回的 Iterable 进行多次迭代将在每次迭代中为每个元素调用提供的 toElement 函数一次。

返回的可迭代对象上的方法允许在不需要结果的任何元素上省略调用 toElement。例如,elementAt 只能调用一次toElement

相当于:

Iterable<T> map<T>(T toElement(E e)) sync* {
  for (var value in this) {
    yield toElement(value);
  }
}

例子:

var products = jsonDecode('''
[
  {"name": "Screwdriver", "price": 42.00},
  {"name": "Wingnut", "price": 0.50}
]
''');
var values = products.map((product) => product['price'] as double);
var totalPrice = values.fold(0.0, (a, b) => a + b); // 42.5.

相关用法


注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 map<T> method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。