Javascript GPA计算器,如何将字母输入转换成数字
我想做一个简单的GPA计算器。有4种形式,我试图让用户输入4个字母(a、B、C、D或F),并让每个数字代表一个值(a=4.0、B=3.0等),基本上只得到它们的平均值。现在,我只是让它这样,如果用户输入数字,它的工作,但现在我想改变它,让用户输入字母等级,并获得相同的gpa号码。我不知道怎么做。请帮忙,谢谢 (这是我的html)Javascript GPA计算器,如何将字母输入转换成数字,javascript,html,css,forms,letters,Javascript,Html,Css,Forms,Letters,我想做一个简单的GPA计算器。有4种形式,我试图让用户输入4个字母(a、B、C、D或F),并让每个数字代表一个值(a=4.0、B=3.0等),基本上只得到它们的平均值。现在,我只是让它这样,如果用户输入数字,它的工作,但现在我想改变它,让用户输入字母等级,并获得相同的gpa号码。我不知道怎么做。请帮忙,谢谢 (这是我的html) 基本思想是创建字母和数字之间的映射 最简单的方法是使用一系列if语句 var input=document.querySelector('input'); addEv
基本思想是创建字母和数字之间的映射 最简单的方法是使用一系列
if
语句
var input=document.querySelector('input');
addEventListener('input',function(){
var inputValue=input.value;
如果(inputValue==='A'){
输入值=4.0;
}else if(inputValue=='B'){
输入值=3.0;
}else if(inputValue=='C'){
输入值=2.0;
}else if(inputValue=='D'){
输入值=1.0;
}否则{
输入值=0.0;
}
console.log(输入值);
});代码>
1:
基本思想是创建字母和数字之间的映射
最简单的方法是使用一系列if
语句
var input=document.querySelector('input');
addEventListener('input',function(){
var inputValue=input.value;
如果(inputValue==='A'){
输入值=4.0;
}else if(inputValue=='B'){
输入值=3.0;
}else if(inputValue=='C'){
输入值=2.0;
}else if(inputValue=='D'){
输入值=1.0;
}否则{
输入值=0.0;
}
console.log(输入值);
});代码>
1:
我将创建另一个Javascript函数,该函数接受输入并计算它,然后您可以从该函数输出
在函数内部,您可以将字母更改为数字
JavaScript
const calculateGrade = () => {
const grades = [inputOne, inputTwo, inputThree, inputFour]
let sum = 0
for (let i = 0; i < grades.length; i++) {
switch (grades[i]) {
case "A":
sum += 4.0
case "B":
sum += 3.0
case "C":
sum += 2.0
case "D":
sum += 1.0
}
}
return (sum / 4)
}
const calculateGrade=()=>{
常数等级=[inputOne、InputWO、InputHREE、inputFour]
设和=0
for(设i=0;i
我将创建另一个Javascript函数,该函数接受输入并计算它,然后您可以从该函数输出
在函数内部,您可以将字母更改为数字
JavaScript
const calculateGrade = () => {
const grades = [inputOne, inputTwo, inputThree, inputFour]
let sum = 0
for (let i = 0; i < grades.length; i++) {
switch (grades[i]) {
case "A":
sum += 4.0
case "B":
sum += 3.0
case "C":
sum += 2.0
case "D":
sum += 1.0
}
}
return (sum / 4)
}
const calculateGrade=()=>{
常数等级=[inputOne、InputWO、InputHREE、inputFour]
设和=0
for(设i=0;i
还有一个JavaScript映射,可以为您处理所有关联
以及检索:
var grade = document.getElementById("myGrade");
var gradeVal = vals.get(grade);
当然,您可以在一个循环中进行检索,获取用户输入的所有分数的值并计算平均值。这只是一个使用映射的简单示例。还有一个JavaScript映射,可以为您处理所有关联
以及检索:
var grade = document.getElementById("myGrade");
var gradeVal = vals.get(grade);
当然,您可以在一个循环中进行检索,获取用户输入的所有分数的值并计算平均值。这只是一个使用地图的简单例子。我阅读了所有答案,所有答案都给了我不同的想法,但最后,我基本上遵循了Mike C.的做法,但方式并不完全相同。这是我最后得到的,效果非常好
var gradeValues = {
"A": 4.0,
"B": 3.0,
"C": 2.0,
"D": 1.0,
"F": 0
};
var getGrade = function() {
input1 = document.form.input1.value;
input2 = document.form.input2.value;
input3 = document.form.input3.value;
input4 = document.form.input4.value;
document.getElementById("result").innerHTML = ((gradeValues[input1] + gradeValues[input2] + gradeValues[input3] + gradeValues[input4]) / 4) + " is your GPA";
};
我读了所有的答案,所有的答案都给了我不同的想法,但最后,我主要遵循了迈克·C.的做法,但方式并不完全相同。这是我最后得到的,效果非常好
var gradeValues = {
"A": 4.0,
"B": 3.0,
"C": 2.0,
"D": 1.0,
"F": 0
};
var getGrade = function() {
input1 = document.form.input1.value;
input2 = document.form.input2.value;
input3 = document.form.input3.value;
input4 = document.form.input4.value;
document.getElementById("result").innerHTML = ((gradeValues[input1] + gradeValues[input2] + gradeValues[input3] + gradeValues[input4]) / 4) + " is your GPA";
};
如何创建一个内置开关/外壳的函数,将每个字母映射为一个数值?你以前听说过switch语句吗?我听说过它们只是不熟悉使用,因为我还是个初学者。我会更深入地研究它们,谢谢。创建一个内置开关/外壳的函数,将每个字母映射为一个数值,怎么样?你以前听说过switch语句吗?我听说过它们只是不熟悉使用,因为我还是个初学者。我会更深入地研究它们。谢谢。如果你必须支持旧的浏览器版本,你可以使用旧的时尚JavaScript对象。如果你必须支持旧的浏览器版本,你可以使用旧的时尚JavaScript对象。我参与了你在上一个代码中编写的部分内容,并将其实现到我的代码中,现在它工作得非常好!我参与了您在上一个代码中编写的部分内容,并将其实现到我的代码中,现在它工作得非常好!