我破解了一个简单的解决方案,但在我看来它有点脏,所以我希望有人能向我展示一种更有效的方法来完成这个任务。
本质上,我只是试图使返回的字符串有效英语,通过将A转换为如果下一个单词以元音开头。
ie:
球是圆的 大象是灰色的
我这样做的方法是,每当我使用A的值并返回A或a时,只需要创建一个调用的函数。
function convertAorAn(val){
    const letter = val.charAt(0).toLowerCase();
    if(
        letter === 'a' ||
        letter === 'e' ||
        letter === 'i' ||
        letter === 'o' ||
        letter === 'u'
     ) {
        return "An"
    } else {
        return "A"
    }
}并以下列方式使用:
{convertAorAn(value)} {value} is {otherValue}
为实现:
笔记本电脑很薄
或
短吻鳄是粗糙的
有比我编写的函数更好的方法来完成这个转换吗?
发布于 2020-02-04 22:19:17
我没有看到这个,但它被提到了。
function convertAorAn(val){
  s = new Set(['a','e', 'i', 'o', 'u'])
  const letter = val.charAt(0).toLowerCase();
  return s.has(letter) ? 'An' : 'A';
}https://stackoverflow.com/questions/60066199
复制相似问题