【发布时间】:2019-10-20 02:11:32
【问题描述】:
function getLetter(s) {
let letter = s[0];
// Write your code here
let A = ['a','e','i','o','u'];
let B = ['b','c','d','f','g'];
let C = ['h','j','k','l','m'];
let D = ['n','p','q','r','s','t','v','w','x','y','z'];
switch(letter) {
case A.includes(s.charAt(0)):
return 'A';
break;
case B.includes(s.charAt(0)):
return 'B';
break;
case C.includes(s.charAt(0)):
return 'C';
break;
case D.includes(s.charAt(0)):
return 'D';
break;
}
}
s = 'adam';
t = getLetter(s);
console.log(t);
我正在学习开关,我正在尝试这个问题,我应该传入一个字符串,如果字符串的第一个字母是任何元素,函数 getLetter() 应该返回“A”在数组 A 中。与数组 B、C、D 类似。我尝试了上面的代码,但它返回未定义。我做错了什么?
【问题讨论】:
-
基本上,您正在检查
letter(字符串)是否等于A.includes(s.charAt(0))(布尔值),但从来都不是这样。 -
你应该在这里使用
if,else if而不是switch: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
switch语句更好,如果你想匹配一个值到多个值:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript