例如,在一个集合中,有10个或更多文档,我想根据DocumentsId创建该集合的列表,并且该列表仅包含值而不是键。
文档1->
'Num1':'1',
'Num2':'2',
'Num3': '3',
'Num4': '4',
'Num5': '5',
'Num6': '6',
'Num7': '7',
'Num8': '8',
'Num9': '9',
'Num10': '10',
文档2->
'Num1':'1',
'Num2':'2',
'Num3': '3',
'Num4': '4',
'Num5': '5',
'Num6': '6',
'Num7': '7',
'Num8': '8',
'Num9': '9',
'Num10': '10',
每个文档的列表如下 清单文件1 = [1,2,3,4,5,6,7,8,9,10] 清单文件2 = [11,12,13,14,15,16,17,18,19,20] 每个列表名称都是documentid
答案 0 :(得分:1)
假设“集合”是一个简单的地图对象,您可以执行以下操作:
Map temp= { 'Num1':'1',
'Num2':'2',
'Num3': '3',
'Num4': '4',
'Num5': '5',
'Num6': '6',
'Num7': '7',
'Num8': '8',
'Num9': '9',
'Num10': '10',};
var newList=temp.values.toList();
如果它是一个自定义对象,则可以使用map方法:
myobjectList.map((object)=>object.id).toList();
它将迭代集合中的所有元素,并将每个元素“映射”到所需的属性。
编辑:
从理论上讲,您不能更改变量名称,但是可以更改变量属性。 您所希望的可以通过以下方式实现:
List<List<int>> documents;
//access each document by its index
List document1 = [1,2,3,4,5,6,7,8,9,10]
documents[0]//would be equal to accessing document1
或使用地图:
Map map={document.name:[1,2,3,4,5]};
map['document2']=[6,7,8,9,10];