我只是在玩JS,并试图学习它。
我在试着求三个数字的平均值;为此,我定义了一个有三个参数的函数,并声明了参数值。
但是函数并没有返回平均值,但是当我运行console.log时,它显示了平均值。
function make_avg(num1, num2, num3) {
var total = num1 + num2 + num3;
var average = total / 3;
return average;
}
make_avg(15, 20, 25);
我已经尝试了这个代码,但无法返回平均值。你能告诉我代码的问题和可能的解决方案吗?
3条答案
按热度按时间9fkzdhlc1#
当你返回它的时候,如果你想使用那个值,你应该把返回的值赋给一个变量。
这实际上取决于你正在返回什么以及你如何使用它。例如,如果你返回一个布尔值(true/false),你可以把它放在一个条件语句中,而不把它赋值给一个变量。例如:
特拉斯
你的函数有点局限于只找到三个数字的平均值。你可以通过传递一个数字数组来扩展它,然后改变你的函数将数字相加(在数组上使用.reduce),然后将总和除以数组的长度(即数字的个数)。它可以找到任何数量的平均值。注意:我将给予代码来做这件事。您可以在检查代码之前自己尝试一下,或者如果您卡住了也可以检查一下。
修改平均值查找器功能
请记住,函数必须始终接受数组作为其参数。希望这对你有帮助:)
ve7v8dk22#
你的解决方案有效。要使其更短,并使用您想要的数量或数量,您可以执行以下操作:
阅读有关spread syntax(the ...在nums之前使用):
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
关于数组方法reduce:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
关于箭头函数这里
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
hyrbngr73#
您的解决方案看起来不错!您可以扩展您的解决方案,通过利用数组来查找任何计数的平均值
此外,如果你想避免手动创建数组,你也可以使用spread syntax: