如何在颤振中加倍

时间:2020-08-11 14:02:09

标签: dart

我有一个双打列表,我想显示所有这些的加法结果, 我以前做过这个,但是我无法显示这些, 确实,我每次都有相同的元素 最好的方法是什么, 我真的很困惑

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);
  }
}

请告诉我我做错了什么

3 个答案:

答案 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);
}