javascript - 计算速率数平均值为 10
问题描述
我想写一个速率系统(类似于 imdb 电影速率),结果最大值为 10,平均输出可以是 0 到 10 之间的数字。应该像这样显示(2/10)
用户可以从 1 到 5(开始)进行评分,每个用户允许一次。
所以考虑一下,这个数组是所有用户的费率。
let rate = ['4', '5', '1', '2', '5', '5', '2', '1', '3', '3', '4']; // all users rates
let result = 0;
for (i = 0; rate.length > i; i++) {
result += parseInt(rate[i]);
}
let av = result / 10;
它工作得很好,但问题是,这个输出永远不会达到很大的速率,比如 9 或 10。所以我应该制定一个目标,对吗?我的 ceil 目标是 1250,这意味着如果所有用户的总评分是 1250,用户应该获得率 10/10。
let av = 1250 / 10;
但这当然返回 125。
目标:像这样显示所有用户率,5/10 或 7/10 像 imdb 率。
解决方案
您需要得到正确的平均值并乘以 2,因为 10(想要的)除以 5(您的五星级系统)并得到一个系统的平均值为 10。
let rate = ['4', '5', '1', '2', '5', '5', '2', '1', '3', '3', '4']; // all users rates
let result = 0;
for (i = 0; rate.length > i; i++) {
result += parseInt(rate[i], 10);
}
let av = result / rate.length;
console.log('average', av);
console.log((av * 2).toFixed(2), 'of 10');
推荐阅读
- gradle - 如何使用 Gradle 部署 JavaFx 应用程序
- c++ - 链接库时未定义对`boost::filesystem::path_traits::dispatch的引用?
- javascript - 使用 webpack 导入 swagger-jsdoc 会引发 json-loader 错误
- npm - 如何解决 npm 安装错误“npm ERR!代码 1”
- python - 在 Django 版本更新 Django:3.1.9 来自 Django:3.1.8 后出现错误“SuspiciousFileOperation”
- python - 迭代二维列表并根据条件 if 语句删除元素或行 - Python
- visual-studio - 自定义操作 Wix 不在 Visual Studio 构建上运行
- java - JUnit4 无法加载应用程序上下文
- python - 在 python 中拟合二次高原 - scipy optimize.curve_fit 函数返回值取决于条件参数
- reactjs - 反应状态不使用最新状态