如何使用javascript中的函数更改字符的值?

如何使用javascript中的函数更改字符的值?,javascript,Javascript,我试图创建一个函数,它接收一个字符并返回一个数字 这是我的密码: function get (char) { if (char == "A"||"a") { return char = 5 } else if (char == "B"||"b") { return char = 4 } else if (char == "C"||"c") { return char = 3 } else if (char == "D"||"d") { ret

我试图创建一个函数,它接收一个字符并返回一个数字

这是我的密码:

function get (char)  {
  if (char == "A"||"a") {
    return char = 5
  } else if (char == "B"||"b") {
    return char = 4
  } else if (char == "C"||"c") {
     return char = 3
  } else if (char == "D"||"d") {
     return char = 2
  } else if (char == "F"||"f") {
     return char = 0
  }
}
但每当我对任何角色运行它时,它总是返回5


请提供任何帮助。

这里是您想要的代码,但是如果您想要解析一个数字,请使用
parseFloat/parseInt

function get (char) {
if (char == "A"||char=="a")
    return 5
else if (char == "B"||char=="b")
    return 4
else if (char == "C"||char=="c")
    return 3
else if (char == "D"||char=="d")
    return 2
else if (char == "F"||char=="f")
    return 0
else
    return -1
}

某一条件下的每个测试都必须是一个完整的测试,能够独立进行
char==“A”
是,但
“A”
不是。使用逻辑运算符,如
&&
|
不会改变这一点

此外,当您返回时,您只返回一个值,而不是赋值

代码必须是:

函数get(char){
if(char==“A”| | char==“A”){
返回5;
}else if(char==“B”| char==“B”){
返回4;
}else if(char==“C”| | char==“C”){
返回3;
}else if(char==“D”| | char==“D”){
返回2;
}else if(char==“F”| char==“F”){
返回0;
}
}
console.log(get(“A”);
console.log(get(“b”);
console.log(get(“C”);
console.log(get(“d”);
console.log(get(“f”))

受斯科特·马库斯的启发,我在编码时也犯了类似的错误 (这只是一个小小的“错误”修正)

const分数=['f'、''d'、'c'、'b'、'a']
删除(分数[1])//对Scott Marcus的答案进行了轻微更正
const get=char=>scores.indexOf(char.toLowerCase())
console.log('A->',get('A'));//5.
console.log('b->',get('b');//4.
console.log('C->',get('C');//3.
console.log('d->',get('d'));//2.
console.log('f->',get('f'));//0
log('empty string->',get('');//-1(实际Scott Marcus代码返回1)
.as控制台{背景色:黑色!重要;颜色:石灰;}

.作为控制台包装{min height:100%!important;top:0;}
您正在测试值
“a”
,该值在布尔上下文中为真。您需要将其与char进行比较:
如果(char==“A”| | char==“A”){
您应该将您的字符设置为小写(),并使用开关/case()。这将使您的代码更具可读性(我提出的问题是关于Python而不是Javascript,但是语言之间的语法差异不重要——这仍然是影响这个问题的同一个问题。)您忘记了
return char=4
我不会把我所做的称为“错误”。我只会说您的代码提供了一个“not found”国旗-1(这是件好事)对,我就是这么说的。
 function get (char)  {
  if (char == "A"|| char == "a") {
    return char = 5
  } else if (char == "B"|| char =="b") {
    return char = 4
  } else if (char == "C"|| char =="c") {
     return char = 3
  } else if (char == "D"|| char == "d") {
     return char = 2
  } else if (char == "F"|| char == "f") {
     return char = 0
  }

  return char;
}