當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Dart IterableMixin.map用法及代碼示例


dart:collection 庫中IterableMixin.map 方法的用法介紹如下。

用法:

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

此迭代的當前元素由 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。