首页 > 解决方案 > 如何从列表中获取特定数据

问题描述

我有一个从 firebase 数据库中获取所有用户的方法,然后我将所有用户存储在一个列表中。假设我的清单是:

    user1 = User(
    id: 1
    name: "john"
    car: false
   )

    user2 = User(
    id: 2
    name: "kim"
    car: true
    )

 userList = [user1,user2]

例如,如何根据名称获取用户的 ID?

标签: flutterdart

解决方案


最简单的方法之一是使用 forEach(),它需要一个函数作为参数:

class User{
  final int id;
  final String name;
  final bool car;

  User({this.id, this.name, this.car});
}

void main() {
  User user1 = User(
    id: 1, 
    name: "john", 
    car: false
  );

  User user2 = User(
    id: 2, 
    name: "kim", 
    car: true
  );

  List<User> userList = [user1,user2];

  userList.forEach((user){
    if(user.name == "john")
      print("ID: ${user.id}");
  });
}

但是您有更多选择,请查看此列表您应该知道的 10 大数组实用程序方法 (Dart)

这样你就可以得到所有的约翰:

List<User> johns = userList.where((user) => user.name == "jhon");

推荐阅读