如何根据 dart 中的索引添加多个数组的项目?
How do I add items of multiple arrays with respect to their indexes in dart?
代码:
void func({String value}) async {
final QuerySnapshot snapshot = await _firestore
.collection('users')
.where("id", isEqualTo: signedInUser.id)
.get();
snapshot.docs.forEach((element) {
List<dynamic> arr = element.data()["array"];
print(arr);
}
}
输出:
I/flutter (27759): [10, 20, 30, 33, 34, 24]
I/flutter (27759): [2, 42, 45, 23, 85, 51]
I/flutter (27759): [32, 53, 12, 67, 34, 23]
这是我从 Firebase 文档打印列表时得到的结果。
如何为每个索引添加数组项?像;索引 0
为 10 + 2 + 32
您应该能够获得 List
的 List
,然后使用 for 循环对数据求和,例如:
var lists = snapshot.docs.map((e) => e.data()['array']);
var sums = <int>[];
for (int i = 0; i < lists.first.length; i++) {
var sum = 0;
for (var list in lists) {
sum += list[i];
}
sums.add(sum);
}
请注意,此代码未经测试,您需要确保列表的长度相等,否则代码可能无法正常工作,因为您 expect/throw 出现异常。
代码:
void func({String value}) async {
final QuerySnapshot snapshot = await _firestore
.collection('users')
.where("id", isEqualTo: signedInUser.id)
.get();
snapshot.docs.forEach((element) {
List<dynamic> arr = element.data()["array"];
print(arr);
}
}
输出:
I/flutter (27759): [10, 20, 30, 33, 34, 24]
I/flutter (27759): [2, 42, 45, 23, 85, 51]
I/flutter (27759): [32, 53, 12, 67, 34, 23]
这是我从 Firebase 文档打印列表时得到的结果。
如何为每个索引添加数组项?像;索引 0
为 10 + 2 + 32您应该能够获得 List
的 List
,然后使用 for 循环对数据求和,例如:
var lists = snapshot.docs.map((e) => e.data()['array']);
var sums = <int>[];
for (int i = 0; i < lists.first.length; i++) {
var sum = 0;
for (var list in lists) {
sum += list[i];
}
sums.add(sum);
}
请注意,此代码未经测试,您需要确保列表的长度相等,否则代码可能无法正常工作,因为您 expect/throw 出现异常。