在 Dart 中,如何获取列表的第一项或 null(如果为空)?

And*_*ena 4 dart flutter

每次我想要第一个项目或 null 时,我都会这样做:

final paragraphNodes = findNodes(node, (p) => p.type == 'p');
final paragraphNode = paragraphNodes.isNotEmpty ? paragraphNodes.first : null;
Run Code Online (Sandbox Code Playgroud)

我可以使用Iterable.first,但它不返回 null,它会引发异常。

// `first` throws an exception if the list is empty
final paragraphNodes = findNodes(node, (p) => p.type == 'p').first;
Run Code Online (Sandbox Code Playgroud)

如何在一行中返回列表的第一项或 null?

小智 6

import package:collection您可以通过使用扩展方法firstOrNull来尝试以下解决方案:

获取列表的第一个元素(如果它存在于 dart 中)