【发布时间】:2021-05-06 07:48:42
【问题描述】:
我看到他们两个(where 和 takeWhile)具有相同的功能.. 否则我可能会在这里错过一些东西!
【问题讨论】:
标签: dart
我看到他们两个(where 和 takeWhile)具有相同的功能.. 否则我可能会在这里错过一些东西!
【问题讨论】:
标签: dart
documentation for Iterable.where 说:
返回一个新的惰性
Iterable,其中包含满足谓词test的所有 元素。
documentation Iterable.takeWhile 说:
返回满足
test的 leading 元素的惰性迭代。
(强调)。
换句话说,Iterable.takeWhile 将在到达第一个不满足 test 回调的项目时停止迭代。
一个具体的例子:
var list = [1, 1, 2, 3, 5, 8];
print(list.where((x) => x.isOdd).toList()); // Prints: [1, 1, 3, 5]
print(list.takeWhile((x) => x.isOdd).toList()); // Prints: [1, 1]
【讨论】: