如何在 forEach 样式循环中将某种类型的迭代放入列表中 - Dart/Flutter
How do I get iterations of some type into a List while inside a forEach style loop- Dart/Flutter
这个问题很难说清楚,所以如果我需要详细说明,请告诉我。
我正在使用 Hive 框进行持久化。这对我来说是一个挑战。如何将我的用户数据从 Hive 盒子中取出并放入列表中以用于其他任务和数据处理?我已经弄清楚如何以一种可以在 DataTable 中将其全部显示给用户的方式从盒子中获取单个对象属性。现在我想计算一些数字。
我希望能够将循环中的数据迭代获取到列表中。这证明是困难的。此处示例:我想将“粗略”放入列表中,以便我可以处理数据。
我为此使用的扩展程序
extension ExtendedIterable<E> on Iterable<E> {
Iterable<T> mapIndex<T>(T f(E e, int i)) {
var i = 0;
return this.map((e) => f(e, i++));
}
void forEachIndex(void f(E e, int i)) {
var i = 0;
this.forEach((e) => f(e, i++));
}
}
我正在尝试什么
var box = Hive.box(incomeTable).values.toList();
box.forEachIndex(
(e, i) {
final hiveBox = Hive.box(incomeTable);
final incomeData = hiveBox.getAt(i) as Income;
final grossData = incomeData.gross;
List<double> grossList = [];
grossList.add(grossData); **// This does not work- does not properly add**
print(grossData);
},
);
上面grossData的当前输出
flutter: 456.0
flutter: 456.0
flutter: 34.0
flutter: 45.0
flutter: 55.0
flutter: 44.0
flutter: 55.0
我不知道如何将 grossData 放入我的 grossList。这怎么能做到?
编辑:在这种情况下,我的意思是处理列表中的数据,在这种情况下,我想将所有总收入数字相加,这可以通过多种方式完成,但我需要我所有的数据在一个列表中。
编辑:调用 add() 并打印列表时,我得到:
flutter: [456.0]
flutter: [456.0]
flutter: [34.0]
flutter: [45.0]
flutter: [55.0]
flutter: [44.0]
flutter: [55.0]
并且List长度保持为1
尝试将以下代码移出您的 for 循环:List grossList = [];
这个问题很难说清楚,所以如果我需要详细说明,请告诉我。
我正在使用 Hive 框进行持久化。这对我来说是一个挑战。如何将我的用户数据从 Hive 盒子中取出并放入列表中以用于其他任务和数据处理?我已经弄清楚如何以一种可以在 DataTable 中将其全部显示给用户的方式从盒子中获取单个对象属性。现在我想计算一些数字。
我希望能够将循环中的数据迭代获取到列表中。这证明是困难的。此处示例:我想将“粗略”放入列表中,以便我可以处理数据。
我为此使用的扩展程序
extension ExtendedIterable<E> on Iterable<E> {
Iterable<T> mapIndex<T>(T f(E e, int i)) {
var i = 0;
return this.map((e) => f(e, i++));
}
void forEachIndex(void f(E e, int i)) {
var i = 0;
this.forEach((e) => f(e, i++));
}
}
我正在尝试什么
var box = Hive.box(incomeTable).values.toList();
box.forEachIndex(
(e, i) {
final hiveBox = Hive.box(incomeTable);
final incomeData = hiveBox.getAt(i) as Income;
final grossData = incomeData.gross;
List<double> grossList = [];
grossList.add(grossData); **// This does not work- does not properly add**
print(grossData);
},
);
上面grossData的当前输出
flutter: 456.0
flutter: 456.0
flutter: 34.0
flutter: 45.0
flutter: 55.0
flutter: 44.0
flutter: 55.0
我不知道如何将 grossData 放入我的 grossList。这怎么能做到?
编辑:在这种情况下,我的意思是处理列表中的数据,在这种情况下,我想将所有总收入数字相加,这可以通过多种方式完成,但我需要我所有的数据在一个列表中。
编辑:调用 add() 并打印列表时,我得到:
flutter: [456.0]
flutter: [456.0]
flutter: [34.0]
flutter: [45.0]
flutter: [55.0]
flutter: [44.0]
flutter: [55.0]
并且List长度保持为1
尝试将以下代码移出您的 for 循环:List grossList = [];