📜  Dart 可迭代 firstWhere - Dart (1)

📅  最后修改于: 2023-12-03 14:40:36.872000             🧑  作者: Mango

Dart 可迭代 FirstWhere

在 Dart 中,可以使用 firstWhere 方法来查找 Iterable 中的元素。这个方法允许你根据某些条件来查找第一个匹配元素。这个方法接收一个函数作为参数,这个函数需要返回一个 bool 类型的值。如果这个函数返回 true,那么 firstWhere 接下来就会返回这个元素。

基本语法

下面是 firstWhere 方法的基本语法:

iterable.firstWhere((element) => condition, {orElse});

这个方法接收两个参数:

  • condition:一个函数,用来判断元素是否符合条件。
  • orElse(可选):一个函数,当没有找到任何元素时会调用这个函数。
示例

下面是一个例子,用来查找一个字符串列表中包含某个关键字的元素:

void main() {
  final List<String> strings = ['Dart', 'Java', 'Kotlin', 'Swift', 'JavaScript'];
  final keyword = 'a';

  final result = strings.firstWhere((str) => str.contains(keyword), orElse: () => null);

  print(result);
}

在这个例子中,我们定义了一个字符串列表 strings 和一个关键字 keyword。通过 firstWhere 方法查找列表中的第一个包含关键字的元素,并将结果打印出来。

如果你运行这个程序,你会发现它只打印了一个元素:

Java

这是因为 firstWhere 方法只返回找到的第一个元素。

总结

firstWhere 方法是查找 Iterable 中匹配元素的一个非常有用的方法。如果您需要遍历列表并找到符合特定条件的元素,请使用这个方法。