在编辑器中完成getLetter(s)函数,它有一个参数:字符串,由小写英语字母(即a到z)组成。它必须返回A、B、C或D,具体取决于以下条件:
如果string中的第一个字符在集合中,则返回A。如果string中的第一个字符在集合中,则返回B。如果string中的第一个字符在集合中,则返回C。如果string中的第一个字符在集合中,则返回D。提示:可以使用语法s[i]或s.charAt(i)在中的某个索引处获取字母。
function getLetter(s) {
let letter;
//letter=s.charAt(0)
const set1= new Set(['a','e','i','o','u']);
const set2=new Set(['b','c','d','f','g']);
const set3=new Set(['h','j','k','l','m']);
const set4=new Set(['n','p','q','r','s','t','v','w','x','y','z']);
// Write your code here
switch(s.charAt(0)){
case 1:
if(set1.has(s.charAt(0)))
letter=A;
break;
case 2:
if(set2.has(s.charAt(0)))
letter=B;
break;
case 3:
if(set3.has(s.charAt(0)))
letter=C;
break;
case 4:
if(set4.has(s.charAt(0)))
letter=D;
break;
}
return letter;
}
想知道这段代码中有什么错误,我在结果中得到了未定义。
2条答案
按热度按时间0sgqnhkj1#
您可以使用布尔值检查集合。
p5cysglq2#
你想要一个函数来检查字符串。但是在所有的开关情况下,你都在尝试检查什么?
switch(s.charAt(0))
这将被求值,s。charAt将永远不会是一个没有转换的数字。所以建议总是设置一个默认的大小写(这将永远有效)和大小写}