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


Dart IterableMixin.expand用法及代碼示例


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

用法:

Iterable<T> expand<T>(
   Iterable<T> toElements(
   E element   
)   
)
      override

將此Iterable 的每個元素擴展為零個或多個元素。

生成的 Iterable 按迭代順序遍曆由 toElements 為 this 的每個元素返回的元素。

返回的Iterable 是惰性的,每次迭代返回的可迭代對象時,都會為此可迭代對象的每個元素調用toElements

例子:

Iterable<int> count(int n) sync* {
  for (var i = 1; i <= n; i++) {
    yield i;
   }
 }

var numbers = [1, 3, 0, 2];
print(numbers.expand(count)); // (1, 1, 2, 3, 1, 2)

相當於:

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

相關用法


注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 expand<T> method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。