【发布时间】:2019-12-14 14:39:30
【问题描述】:
该代码非常适合成绩或 GPA,我试图将用户输入到数组中的成绩的平均值 (GPAtotal / gpa.length) 显示出来。我还被要求展示一份优秀 GPA 的列表(定义为 GPA 超过3.4)
我试过了:
使用
parseInt()将输入从数组中的字符串转换为数组中的整数。使用
gpa.reduce((a,b) => a + b, 0) / gpa.length,但输入仍然是字符串。
我有将字符串转换为整数的转换类型。
var gpa = [];
var theGPA = "";
while (theGPA != "XXX")
{
theGPA = prompt("Enter GPA or XXX to Stop");
if (theGPA != "XXX") {
gpa.push(theGPA);
}
}
document.getElementById('output').innerHTML += "Average: " + "???" + "<br/>";
document.getElementById('output').innerHTML += "Outstanding GPA: " + "???";
当尝试显示平均值时,我会将用户估算的字符串作为一种解决方案,例如:
array: ["3.4", "4.0", "2.6"]
outputting: "Average: 4.04.32.6"
【问题讨论】:
-
推入数组时可以使用
gpa.push(+theGPA);将字符串转换为数字。阅读unary plus here。之后,gpa.reduce((a,b) => a + b, 0) / gpa.length应该会满足您的期望。 -
提示:
map使用parseInt,然后reduce是该映射的结果。把大问题分解成小问题。gpa.map(...).reduce(...)作为模板。您还可以推送已使用parseInt处理的值。
标签: javascript arrays loops integer