从dart flutter中的映射列表中按键获取映射值



当名称与映射列表中的键匹配时,我需要获取数据的值。像这样:

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
});