这是我的默认列表
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]]