Dart:计算列表中数据的平均值

这篇实用、简洁的文章将向您介绍计算给定列表中数值数据平均值的两个示例。第一个示例使用仅包含数字的简单列表,而第二个示例处理地图列表。不用多说;让我们开始吧。

数字列表

要找到结果,只需使用平均getter,如下所示:

// kindacode.com
import 'package:collection/collection.dart';

void main() {
  final listOne = [1, 2, 3, 4, 5, 9, 10];
  final averageOne = listOne.average;
  print(averageOne);

  final listTwo = [-3, 1.4, 3.4, 9, 10, 6];
  final averageTwo = listTwo.average;
  print(averageTwo);
}

输出:

4.857142857142857
4.466666666666667

您甚至不需要计算所有元素的总和,然后将其除以元素的数量。

地图列表

假设您有一个地图列表,其中每个地图都包含有关产品的信息,包括产品名称、价格等。目标是找到所有产品的平均价格。下面的程序演示了如何解决这个问题:

// kindacode.com
import 'package:collection/collection.dart';

void main() {
  final products = [
    {"name": "Product One", "price": 3.33},
    {"name": "Product Two", "price": 9.99},
    {"name": "Product Three", "price": 5.00}
  ];

  // Create of list of prices
  final prices = products.map((product) => product["price"] as double).toList();

  // Use the average function to get the average price
  final averagePrice = prices.average;
  print("Average Price: $averagePrice");
}

输出:

6.1066666666666665