当名称与映射列表中的键匹配时,我需要获取数据的值。像这样:
List<Map> dataList = [];
await friends.doc("+2348******").collection("Friends").get().then((value) {
for (var element in value.docs) {
dataList.add(element.data());
}
print("${dataList.where((element) => element == "+23789900")}");
});
我希望打印出:John doe
我发现了一些类似的东西,但它们没有解决我的问题
- 处理map列表以获取map中的键值
- Dart/Flutter如何在列表中访问Map元素
- Dart:从地图列表返回字符串值
- 从地图列表中获取单个键值
试试这个例子:
List<Map> dataList = [];
await friends.doc("+2348******").collection("Friends").get().then((value) {
for (var element in value.docs) {
dataList.add(element.data());
}
dataList.forEach((element){
if(element['name'] == "+2348******"){
//print
}
})
});
我想你应该试试这个代码…希望一切顺利……目前使用法线贴图。
List<Map> dataList = [];
await friends.doc("+2348******").collection("Friends").get().then((value) {
for (var element in value.docs) {
dataList.add(element.data());
}
//Try this code
var key = dataList.keys.firstWhere((k)
=> countries[k] == '+23789900', orElse: () => null);
print(key); //output: 35
});