我想从另一个列表创建列表,就像这样(flutter)



这是我的默认列表

List dataset = [{"label":"m1","backgroundColor":"#2320df","data":[128, 123 ,107]},{"label":"m2","backgroundColor":"#11d414","data":[34,34,34]}];

想要的结果

List list = [[128,34],[132,34],[107,34]]

您可以这样做:

List dataset = [
{
"label": "m1",
"backgroundColor": "#2320df",
"data": [128, 123, 107]
},
{
"label": "m2",
"backgroundColor": "#11d414",
"data": [34, 34, 34]
}
];
List resultList = [];
List l1 = dataset[0]['data'];
List l2 = dataset[1]['data'];
for (int i = 0; i < l1.length; i++) {
resultList.add([l1[i], l2[i]]);
}
print(resultList);

输出:

[[128, 34], [123, 34], [107, 34]]

编辑:

简单的解决方案是将列表聚合为矩阵并在其上应用CCD_ 1,这个包可以帮助你做到这一点:

https://pub.dev/packages/matrix2d

代码看起来是这样的:

List dataset = [
{
"label": "m1",
"backgroundColor": "#2320df",
"data": [128, 123, 107]
},
{
"label": "m2",
"backgroundColor": "#11d414",
"data": [34, 34, 34]
}
];
List resultList = [];
List tempList = [];
for (Map item in dataset) {
tempList.add(item['data']);
}
resultList = tempList.transpose;
print(resultList);

输出:

[[128, 34], [123, 34], [107, 34]]

相关内容

最新更新