javascript - 在 ExtJS 中的数组中查找组平均值
问题描述
我试图找到最大值和最小值的组平均值。下面是我的数据存储。
items{
0:
{
data:{
USERS: 5
USAGE: 10.5
}
}
1:
{
data:{
USERS: 5
USAGE: 15
}
}
2:
{
data:{
USERS: 1
USAGE: 20
}
}
}
我想找到关于用户的最小和最大组平均值。所以最终结果应该是:
result{
0: {
USERS: 5
USAGE: 12.75 /* i.e (15+10.5) / 2 */
}
1:{
USERS: 1
USAGE: 20
}
}
抱歉我的解释和英语不好。
解决方案
您可以收集 a 中的所有值Map
并通过将平均值分组来呈现想要的结果USERS
。
const
mapIt = (map, { data: { USERS, USAGE } }) => {
var temp = map.get(USERS) || { USERS, sum: 0, count: 0 };
temp.sum += USAGE;
temp.count++;
return map.set(USERS, temp);
};
var items = { 0: { data: { USERS: 5, USAGE: 10.5 } }, 1: { data: { USERS: 5, USAGE: 15 } }, 2: { data: { USERS: 1, USAGE: 20 } } },
result = Object.assign({}, Array.from(
Object.values(items).reduce(mapIt, new Map),
([USERS, { sum, count }]) => ({ USERS, USAGE: sum / count })
));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- java - 我可以在数组中同时使用 double 和 int 参数吗?
- c# - 如何在 C# 中展平我的数据模型的 JSON 输出?
- keras - 关于 Keras 和分类
- apache-kafka - 在特定服务器 VPC 上向主题消费或生产数据时面临问题
- python-3.x - 如何获取运行 client_connected_cb 的 asyncio.start_server 创建的任务
- node.js - 防止 Sequelize Join 返回包含表的主键
- python - DataFrame.to_sql 相当于在 psycopg2 中使用“返回 id”?
- javascript - 在 Vite.js 和 Vue 中使用 socket.io-client
- algorithm - 如何确定嵌套 for 循环的步数?
- python - Python Dataframe 是/否检查器