我有一个对象的DART列表,每个对象都包含book_id个属性,我想通过book_id字段找到该列表中的一个元素.

推荐答案

使用FirstWhere方法:https://api.flutter.dev/flutter/dart-core/Iterable/firstWhere.html

void main() {
  final list = List<Book>.generate(10, (id) => Book(id));

  Book findBook(int id) => list.firstWhere((book) => book.id == id);

  print(findBook(2).name);  
  print(findBook(4).name);
  print(findBook(6).name);  
}

class Book{
  final int id;

  String get name => "Book$id";

  Book(this.id);
}

/*
Output:
Book2
Book4
Book6
*/

Dart相关问答推荐

Dart/Flutter ffi(外部函数接口)本机回调,例如:sqlite3_exec

Flutter:Firebase 基本查询或基本搜索代码

在Flutter中实现像Chanel app一样的自定义滚动?

dart:js 和 js 包有什么区别?

Dart 包版本如何工作以及我应该如何对我的 Flutter 插件进行版本控制?

Dart / Flutter 错误:没有为类Logger定义toStringDeep

如何签署 Flutter 的应用程序

找不到名为split-per-abi的选项

摆动中的可滚动导轨

如何在flatter中使用SQFlite更新数据库表

用于名称和数字省道的正则表达式

无法使用 Flutter 调用 Localhost,将随机端口分配给 HTTP GET 调用

如何左对齐 Flutter 中的 OutlineButton 图标

全局减慢 Flutter 中的动画

具有 Maps 的 Null 感知运算符

从 Dart 应用访问 pubspec.yaml 属性

判断 datetime 变量是今天、明天还是昨天

Dart 中的 Math.round() 在哪里?

Null aware函数调用运算符

Dart 字符串比较器