【问题标题】:how to find average of object with same type of values [closed]如何找到具有相同类型值的对象的平均值[关闭]
【发布时间】:2020-03-04 17:53:09
【问题描述】:
let numbers = {
    name:"Faisal", value:20,
    name:"qasim", value:32,
    name:"asim", value:20,
    name:"abid", value:30,
    name:"yaqoob", value:50
};

【问题讨论】:

  • 请添加一个有效的数据结构和你的尝试。
  • 你的意思是let numbers = [{ name:"Faisal" , value:20}, {name:"qasim" , value:32},{name:"asim" , value:20}, {name:"abid" , value:30}, {name:"yaqoob" , value:50 }]
  • 您的数据结构仍然无效。您有多个同名的属性。
  • 请访问help center查看内容和How to Ask。提示:发布努力和代码。

标签: javascript object sum


【解决方案1】:

假设您打算发布以下示例:

let numbers = [
                { name:"Faisal" , value:20}, 
                { name:"qasim" , value:32},
                { name:"asim" , value:20}, 
                { name:"abid" , value:30}, 
                { name:"yaqoob" , value:50 }
              ]

那么这应该让你得到平均值:

var total = 0;
for(var i = 0; i < numbers.length; i++) {
    total += numbers[i].value;
}
var avg = total / numbers.length;

或者,您可以更简洁地使用reduce,如下所示:

var avg = numbers.reduce(function (accumulator, currentValue) { return accumulator + currentValue.value }, 0) / numbers.length;

【讨论】:

  • 您应该考虑使用函数式方法。 const avg = numbers.map(n =&gt; n.value).reduce((c, n) =&gt; (c + n) / 2);。功能很有趣!
猜你喜欢
  • 1970-01-01
  • 2021-10-12
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多