我有一张清单
List<List<double>> data = [[1,2,3],[1,2,3], [2,2,3], [2,2,3], [1,2,3], ...];
我需要把内部数组中的第一个元素放到一个数组中;因此结果将是
<List<double> newData = [1,1,2,2,1.....]
rkue9o1l1#
如果只需要每个内部列表的第一个元素,或者只需要一个元素,可以尝试以下方法。
final data = [ [1, 2, 3], [4, 5, 6] ]; final newData = [...data.map((e) => e.first)]; // or elementAt(...) print(newData); // [1, 4]
如果你想在这个数组中得到 every 元素(类似于列),那么我将尝试如下所示的暴力破解(我相信有更好的方法用package:collection来完成,但我不确定如何使用atm)。
package:collection
import 'package:collection/collection.dart'; const columnsAmount = 3; final data = [ [1, 2, 3], [4, 5, 6] ]; final result = <int, List<int>>{ for (var i = 0; i < columnsAmount; i++) i: [] }; for (final d in data) { d.forEachIndexed((index, element) { result[index]?.add(element); }); } print(result); // {0: [1, 4], 1: [2, 5], 2: [3, 6]}
1条答案
按热度按时间rkue9o1l1#
如果只需要每个内部列表的第一个元素,或者只需要一个元素,可以尝试以下方法。
如果你想在这个数组中得到 every 元素(类似于列),那么我将尝试如下所示的暴力破解(我相信有更好的方法用
package:collection
来完成,但我不确定如何使用atm)。