我有一个双打列表,我想显示所有这些的加法结果, 我以前做过这个,但是我无法显示这些, 确实,我每次都有相同的元素 最好的方法是什么, 我真的很困惑
void main() {
List<double> list= [1.0,1.0,1.0,1.0,0.8,52.9];
double total = 0.0;
for (var item in list) {
var all= item+ total;
print(all);
}
}
请告诉我我做错了什么
答案 0 :(得分:2)
添加到João的答案中:
最好看的答案可能是这样的:
var result = list.reduce((a,b) => a+b));
列表的reduce方法对列表具有相同的作用。
答案 1 :(得分:0)
您在all
循环中声明了一个for
变量。每次循环运行都会重新声明它。如果只需要总值,则只需将其添加到每个循环中并打印出来即可:
void main() {
List<double> list= [1.0,1.0,1.0,1.0,0.8,52.9];
double total = 0.0;
for (var item in list) {
total = item + total;
print(total);
}
}
答案 2 :(得分:0)
您也可以使用fold
方法:
void main() {
final list = [1.0,1.0,1.0,1.0,0.8,52.9];
final result = list.fold(0, (a, b) => a + b);
print(result);
}