Dart:计算地图中所有值的总和

这篇简短的文章向您展示了在 Dart 中查找给定映射中所有值的总和的几种方法(假设所有值都是数字)。

使用 For/In 循环

例子:

// main.dart
void main() {
  const Map<String, double> prices = {
    'priceOne': 9.9,
    'priceTwo': 20.5,
    'priceThree': 45,
    'priceFour': 30.88
  };

  double sum = 0;

  // get the list of all values of the map
  List<double> values = prices.values.toList();

  // calculate the sum with a loop
  for (double value in values) {
    sum += value;
  }

  // print out the sum
  print(sum);
}

输出:

106.28

使用 Reduce() 函数

例子:

// main.dart
void main() {
  const Map<String, double> map = {
    'value1': 9,
    'value2': 9.9,
    'value3': 14,
    'value4': 15.5,
    'value5': 20
  };

  Iterable<double> values = map.values;

  final result = values.reduce((sum, value) => sum + value);
  print(result);
}

输出:

68.4