javascript - 只需将元音更改为javascript中的下一个字母

标签 javascript loops if-statement conditional-statements

首先我要证明句子中是否有元音字母,如果有元音字母替换为下一个字母。不是元音的字母不会被替换,但在输出中保持不变。

我编写的编码结果变得不合适。

function changeVocals(str){
    var split = str.split('')
    var vocal = 'aiueo'
    var change = 'bjvfp'
    var a = ''

    for (var i = 0; i < split.length; i++) {
        for (var j = 0; j < vocal.length; j++) {
            if (vocal[j] === split[i]) {
                a = a + change
            } else {
                a = a + split[i]
            }
        }
    }
    return a     
}

console.log(changeVocals('Alexa')); //'Blfxb'

我希望“Alexa”的输出是“Blfxb”,但实际输出的句子似乎是重复的。

实际输出:AAAAAllllleeeebjvfpexxxxxbjvfpaaaa

最佳答案

您可以使用对象来映射值,并根据大小写替换匹配的值

const mapper = {
  a: 'b', e: 'f', i: 'j', o: 'p', u: 'v',
  A: 'B', E: 'F', I: 'J', O: 'P', U: 'V'
}

const changeVocals = (string) => {
  return string.replace(/[aeiou]/gi, match => mapper[match])
}
console.log(changeVocals('Alexa'));

关于javascript - 只需将元音更改为javascript中的下一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606351/

相关文章:

javascript - 绑定(bind)类的 Vue 条件

python - for 循环的下一个抽象级别?

if-statement - 如何在Notepad++中的花括号之间选择所有代码?

python - 如果多个列上的条件, Pandas 数据框中的新列无法获得预期值基础

mysql - MYSQL 查询上的 IF 语句 - IF 列的所有值都相同

javascript - 从跟踪代码中删除管道字符?

javascript - 如何从右向左滑动 JQuery HTML CSS

javascript - 使用我自己的值更新 Materui LinearProgressWithLabel 进度值

python - 展平 pandas df 的时间序列数据

java - 为什么值没有正确增加?