javascript - javascript for循环中的求和值
问题描述
如何存储我的所有 numberGrades 值,以便它们可以包含在我的计算中,我是新手,所以如果有人可以更新我的代码,那将是完美的?
//user input number of grades to be entered
numGrades = prompt("Enter number of grades to be entered: ", ES);
//number of grades to be entered LOOP
for (index = 1; index <= numGrades; index++) {
numberGrades = prompt("Enter Grade " + index, ES);
}
//Calculation
gradePointAverage = numberGrades / numGrades;
document.write("Your GPA is " + gradePointAverage + PA);
解决方案
prompt
方法返回一个字符串,因此您必须使用parseInt
or将其转换为 int 或 float parseFloat
。
你所做的只是得到你成绩的最后一个值。你想要的是把它们加在一起然后除以等级数
有2个解决方案:
- 将输入存储到数组中
- 每次用户输入值时将它们加在一起
// First solution
// Create an array and append each value
numberGrades = [];
for (index = 1; index <= numGrades; index++) {
valuePrompt = prompt("Enter Grade " + index, ES);
numberGrades.append(parseFloat(valuePrompt));
}
//Calculation
sumOfGrades = numberGrades.reduce((a, b) => a + b, 0)
gradePointAverage = sumOfGrades / numGrades;
// Second solution
// Add every prompt by the user
numberGrades = 0;
for (index = 1; index <= numGrades; index++) {
valuePrompt = prompt("Enter Grade " + index, ES);
numberGrades += parseFloat(valuePrompt));
}
//Calculation
gradePointAverage = numberGrades / numGrades;
推荐阅读
- node.js - 无法在 Node.js 中使用 Stimulsoft 报告“等待”异步函数
- r - 为什么我可以使用 3 个维度来对 R 中的数据框进行子集化?
- javascript - 无法在 ReactJS 中加载本地背景图像
- cocoa - 数字色度计显示本机值的色彩空间是什么
- c++ - C++自适应类型推导
- javascript - Bootstrap 3进度条在间隔中添加计数器时间
- php - 如何将 IP 转换为 CIDR 块?(PHP)
- javascript - 当单个页面上存在 2 个表单时,如何使用 jQuery 表单验证插件验证 reCaptcha?
- python - 奇数 .txt 报告到 Pandas 数据框中
- python - 使用 Python 使用指针进行冒泡排序