首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用低记分来获得平均分

如何利用低记分来获得平均分
EN

Stack Overflow用户
提问于 2016-08-21 12:09:15
回答 1查看 940关注 0票数 2

如何使用下划线来获取groupBy category和平均值?

我有一系列的对象。它应该按category分组,Analytics的平均值是根据val属性(即1+2 => 3.3/类别总数)计算的。所以,3/2 => 1.5

预期产出:{ Analytics: 1.5 }

代码语言:javascript
复制
[{
  area:"Digital",
  category:"Analytics",
  qId:"wRHmpHHGzrYLsCEJ3",
  type:"Reorganize",
  userId:"M4JEJGiPZ8e9om9A",
  val:1
},
{
  area:"Digital",
  category:"Analytics",
  qId:"wRHmpHHGzrYLsCEJ3",
  type:"Reorganize",
  userId:"M4JEJGiPZ8e9om9A",
  val:2
}]

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-21 13:15:17

你可以按类别将对象分组,然后是迭代此结果对象中的所有键。减值

代码语言:javascript
复制
var types = _.groupBy(array, 'category');
var result = _.mapObject(types, function(val, key) {
  return _.reduce(val, function(memo, v) { 
    return memo + v.val; 
  }, 0) / val.length;
});

代码语言:javascript
复制
var array = [{
  area:"Digital",
  category:"Analytics",
  qId:"wRHmpHHGzrYLsCEJ3",
  type:"Reorganize",
  userId:"M4JEJGiPZ8e9om9A",
  val:1
},
{
  area:"Digital",
  category:"Analytics",
  qId:"wRHmpHHGzrYLsCEJ3",
  type:"Reorganize",
  userId:"M4JEJGiPZ8e9om9A",
  val:2
}];

var types = _.groupBy(array, 'category');
var result = _.mapObject(types, function(val, key) {
  return _.reduce(val, function(memo, v) { 
    return memo + v.val; 
  }, 0) / val.length;
});

console.log(result);
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39064019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档