扑-如何计算列表中数据的平均值?

Muh*_*din 3 list dart flutter

我有一个List<Comment>关于用户的食物。看起来像这样:

[
    {userId: 1,
     rating: 4.5
    },
    {userId: 2,
     rating: 4.0
    },
    {userId: 3,
     rating: 3.5
    },
    {userId: 4,
     rating: 3.0
    }

   ...
];
Run Code Online (Sandbox Code Playgroud)

我想获得平均评分。AVERAGE = Number of ratings : total user,我该如何在飞镖中应用它?

Tob*_*obi 30

2021 年, dart 具有包中的内置average方法collection,可以在Iterable.

import 'package:collection/collection.dart';

void main() {
 var values = [
    {'userId': 1, 'rating': 4.5},
    {'userId': 2, 'rating': 4.0},
    {'userId': 3, 'rating': 3.5},
    {'userId': 4, 'rating': 3.0}
  ];

  var result = values.map((m) => m['rating']!).average; 

  print(result); // prints 3.75
}

Run Code Online (Sandbox Code Playgroud)

.sum您可能还对同一包中的方法感兴趣。


Gün*_*uer 8

  var values = [
    {'userId': 1, 'rating': 4.5},
    {'userId': 2, 'rating': 4.0},
    {'userId': 3, 'rating': 3.5},
    {'userId': 4, 'rating': 3.0}
  ];

  var result = values.map((m) => m['rating']).reduce((a, b) => a + b) / values.length;
  print(result);
Run Code Online (Sandbox Code Playgroud)