【发布时间】:2021-07-19 04:25:53
【问题描述】:
我刚开始学习 Javascript,并且有一个关于查找数组总和的问题。线程要求如下:
"定义一个空数组。同时创建两个函数: 1/ addNumber() 从 HTML 文档 (id="num") 的文本输入字段中读取一个值,并将其添加到数组的末尾。 2/ printInfo() 将数组中元素的数量输出到控制台,然后是它们的平均值。 HTML 文档有两个用于调用函数的按钮。 "
我能够找到可以在数组中找到总元素的部分,但是当我尝试使用 reduce() 方法计算该数组的总和时。但不知何故,结果显示为每个元素连接在一起的 string,而不是最终数字。这个数组的和应该是 2 + 7 + 10 + 12 + 25 = 56
var myArray = [];
function addNumber(){
var num = document.getElementById("num").value;
myArray.push(num);
}
function printInfo(){
var arr=myArray;
var array=myArray.length;
var sum = arr.reduce(function(a, b){return a + b;}, 0);
console.log(sum);
console.log("The array has " + array + " elements.");
console.log("The average of the values is " );
}
【问题讨论】:
-
您没有在此处打印
sum:console.log("The average of the values is " );。使用console.log("The average of the values is " +sum); -
@Martin - 嗨,感谢您的解决方案,但我的意思是我目前正在处理的总和是从“document.getElementById("num").value”中字符串化的。所以结果只是 027102512,而不是总共 56 个。这就是我卡住的地方。
标签: javascript