Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在另一个函数中调用reduce函数_Javascript_Arrays_Object_Reduce - Fatal编程技术网

Javascript 如何在另一个函数中调用reduce函数

Javascript 如何在另一个函数中调用reduce函数,javascript,arrays,object,reduce,Javascript,Arrays,Object,Reduce,我试图调用此reduce函数: users.reduce(function (acc, obj) { return acc + obj.age/3; }, 0); function computeUserAverageAge(users) {}; 在该功能中: users.reduce(function (acc, obj) { return acc + obj.age/3; }, 0); function computeUserAverageAge(users) {}; 要

我试图调用此reduce函数:

users.reduce(function (acc, obj) { return acc + obj.age/3; }, 0);   
function computeUserAverageAge(users) {};
在该功能中:

users.reduce(function (acc, obj) { return acc + obj.age/3; }, 0);   
function computeUserAverageAge(users) {};
要测试此对象数组中这些“年龄”值的平均值,请执行以下操作:


我感谢你的帮助和耐心

只需在函数中移动它并返回结果

注意:不要使用
3
而是使用
users.length

我还认为,在数学上,你应该在把它们相加后除以数字,而不是每次迭代

const用户=[{
姓名:“Brendan Eich”,
年龄:56岁,
}, {
名称:“Linus Torvalds”,
年龄:48岁,
}, {
姓名:“玛格丽特·汉密尔顿”,
年龄:81,
}];
函数计算平均值(用户){
返回Math.round(users.reduce((acc,obj)=>acc+obj.age,0)/users.length);
};

log(ComputeUserAverage(users))
只需在函数中移动它并返回结果

注意:不要使用
3
而是使用
users.length

我还认为,在数学上,你应该在把它们相加后除以数字,而不是每次迭代

const用户=[{
姓名:“Brendan Eich”,
年龄:56岁,
}, {
名称:“Linus Torvalds”,
年龄:48岁,
}, {
姓名:“玛格丽特·汉密尔顿”,
年龄:81,
}];
函数计算平均值(用户){
返回Math.round(users.reduce((acc,obj)=>acc+obj.age,0)/users.length);
};

log(ComputeUserAverage(users))
听起来您只需要返回
reduce的结果。为了简洁起见,不妨使用箭头函数:

const computeureaverage=users=>users.reduce((a,{age})=>a+age,0)/3;
console.log(计算平均值)(
[{
姓名:“Brendan Eich”,
年龄:56岁,
}, {
名称:“Linus Torvalds”,
年龄:48岁,
}, {
姓名:“玛格丽特·汉密尔顿”,
年龄:81,
}]

));
听起来您只需要返回
reduce
的结果。为了简洁起见,不妨使用箭头函数:

const computeureaverage=users=>users.reduce((a,{age})=>a+age,0)/3;
console.log(计算平均值)(
[{
姓名:“Brendan Eich”,
年龄:56岁,
}, {
名称:“Linus Torvalds”,
年龄:48岁,
}, {
姓名:“玛格丽特·汉密尔顿”,
年龄:81,
}]

));185不是3的平均值。您忘了划分
用户。长度
会更好。185不是3的平均值。你忘了划分
用户。length
会更好。谢谢,如果我想把答案四舍五入,我可以把:function computeUserAverage(users){return Math.floor(users.reduce(function(acc,obj){return acc+obj.age/users.length;},0);}?使用
Math.round()
Math.floor()
Math.ceil()
,查看我上面的编辑。谢谢,如果我想把答案四舍五入,我可以放在:function computeUserAverage(users){return Math.floor(users.reduce(function(acc,obj){return acc+obj.age/users.length;}, 0);) }; ?使用
Math.round()
Math.floor()
Math.ceil()
,请参阅我上面的编辑。可能重复的