javascript - 将字符串中的元音变为大写并将字母更改为字母表中的下一个字母(即 a->b)的程序不起作用

标签 javascript string join alphabet

我该如何解决这个问题。它应该使 str 中的所有元音大写,并将字母表中的每个字母更改为字母表中的下一个字母(即 a -> b 或 z->a)。它不断返回“str.join 不是函数”。有帮助吗?顺便说一下,它是 JavaScript。

function LetterChanges(str) { 

  str = str.split("");//split() string into array
  for(var i=0;i<str.length;str++){//for loop that checks each letter
    if(str[i]===/[^a-y]/){
      str=str[i].fromCharCode(str[i].charCodeAt(0) + 1);
        }else if(str[i]==='z'){
          str[i] = 'a';
        }
    if(str[i] === 'a'||'e'||'i'||'o'||'u'){
       str[i] = str[i].toUpperCase();
       }

  }

  //modifies letter by adding up in alphabet
  //capitalizes each vowel
  //join() string


  return str.join(); 
}

// keep this function call here 
// to see how to enter arguments in JavaScript scroll down
LetterChanges(readline());                            

最佳答案

好的,您需要阅读一些有关 JavaScript 的内容。

这并不符合您的想法str[i]===/[^a-y]/。您应该使用 str[i].match(/[a-y]/i)

这并不符合您的想法:str[i] === 'a'||'e'||'i'||'o'||'u'。它总是会返回 true。您需要这个 str[i].match(/[aeiou]/i)

关于javascript - 将字符串中的元音变为大写并将字母更改为字母表中的下一个字母(即 a->b)的程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143554/

相关文章:

PHP/MySQL/jQuery/AJAX 类似 Twitter 的新闻提要更新

ruby - 将十六进制字符串添加到二进制文件的内容之前

c - C语言算法——谁是获胜队

python - 根据字符位置从字符串中提取子字符串 - Python

linux - Bash脚本通过相似的字段加入两个csv文件并输出到第三个字段

apache-spark - 如何均匀分布数据集以避免倾斜连接(和长时间运行的任务)?

sql - 我可以向不属于连接的 LEFT JOIN 子句添加条件吗?

javascript - 在输入类型图像中更改 svg 中的填充颜色

javascript - 如果文本不在 html 标签内,如何在单击时获取文本值?

javascript - 如何在 AngularJS 中使用 jQuery 插件?