列表 1:我有一个包含用户 ID 的列表:(选定的用户)
['1234', '3455', '2330', '1111']
Run Code Online (Sandbox Code Playgroud)
列表 2:我有第二个列表,其中包含用户的完整个人资料(地图):(所有用户)
[{"id": '1234', "name": "username"}, {"id": '3455' .... ]
Run Code Online (Sandbox Code Playgroud)
列表 3:我想要包含所有选定用户的第三个列表:返回列表 2 中 ID 为列表 1 的所有用户。
我试过这个...
list1.forEach((element) =>
list3.add(list2.where((data) => data['id'] == element)));
Run Code Online (Sandbox Code Playgroud)
但这不起作用...
error: The argument type 'Iterable<Map<String, dynamic>>' can't be assigned to the parameter type 'Map<String, dynamic>'.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
提前致谢!
您可以list3 = list2.where((map)=>list1.contains(map["id"])).toList()用于创建 list3
问题的原因是您的 list3 需要一张地图,但您的list2.where(..)代码是Returns List[map, map, map]。
| 归档时间: |
|
| 查看次数: |
5871 次 |
| 最近记录: |