flutter - 如何从列表中获取特定数据
问题描述
我有一个从 firebase 数据库中获取所有用户的方法,然后我将所有用户存储在一个列表中。假设我的清单是:
user1 = User(
id: 1
name: "john"
car: false
)
user2 = User(
id: 2
name: "kim"
car: true
)
userList = [user1,user2]
例如,如何根据名称获取用户的 ID?
解决方案
最简单的方法之一是使用 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");
推荐阅读
- android - C++ OpenSSL aes-128-cbc pem
- ionic-framework - 如果存储上的 Var 不显示选项卡
- c++ - 错误 C2061:语法错误:编译 algparam.h 时的标识符“缓冲区”
- javascript - 使用 JavaScript 函数导入 XML
- javascript - Change the color of Anchor when clicked?
- python - Strange behaviour of Python difflib library for sequence matcher
- angularfire - Returning $key in AngularFire 5
- python - Python3.5 Asyncio - Preventing task exception from dumping to stdout?
- python - How can I make a python encryption and decryption program with my own criptgraphy?
- ios - NSURLErrorDomain -1001 设备上的请求超时