如何用JavaScript制作一个给定字符串中辅音加倍的程序?

如何用JavaScript制作一个给定字符串中辅音加倍的程序?,javascript,Javascript,所以,我要解决的问题是 编写一个JavaScript函数,该函数接受一个字符串作为参数,并将返回一个类似的字符串,但每个辅音都要加倍。 以下是一个例子: 双辅音(“Johnathan”);//返回“jjohnnatthhann” 双辅音(“赛车”);//返回“rracccarr” !!!我们必须假设字符串不包含任何空格 到目前为止,这是我所有的代码,现在,我不知道如何继续。谁能帮帮我吗 函数双辅音(字符串){ 让辅音= [ ‘b’、‘c’、‘d’、‘f’、‘g’、‘h’、‘j’、‘k’、‘l

所以,我要解决的问题是

编写一个JavaScript函数,该函数接受一个字符串作为参数,并将返回一个类似的字符串,但每个辅音都要加倍。

以下是一个例子:

双辅音(“Johnathan”);//返回“jjohnnatthhann”
双辅音(“赛车”);//返回“rracccarr”
!!!我们必须假设字符串不包含任何空格

到目前为止,这是我所有的代码,现在,我不知道如何继续。谁能帮帮我吗

函数双辅音(字符串){
让辅音=
[
‘b’、‘c’、‘d’、‘f’、‘g’、‘h’、‘j’、‘k’、‘l’、‘m’、‘n’、‘p’、‘q’、‘r’、‘s’、‘t’、‘v’、‘w’、‘x’、‘z’
];
}
我知道这没什么大不了的,但如果有人能帮我,我会非常感激的

  • 迭代数组并使用
  • 检查变量是否为带字母的辅音
  • 如果是辅音,则返回该字母两次,否则返回一次
  • 此外,使用该命令,这样就不必有单独的大写辅音数组

    const辅音sarr=[
    //“a”,
    “b”、“c”、“d”、“e”,
    “f”、“g”、“h”、“i”,
    “j”、“k”、“l”、“m”、“n”、“o”,
    “p”、“q”、“r”、“s”、“t”、“u”,
    “v”、“w”、“x”、“y”、“z”
    ];
    /**
    *把辅音串起来
    *@param{string}str输入字符串
    *@返回{string}带有双辅音的输入字符串
    */
    功能双辅音(str){
    返回数组
    .from(str)//从输入中生成一个数组以使用数组方法
    .reduce((acc,b)=>{//减少字符串concat的数组
    返回acc+(
    辅音sarr.includes(b.toLowerCase())?//检查b是否为辅音
    b+b://如果是,则加倍
    否则就把它传过去
    );
    },“”);//以空字符串开始reduce
    }
    console.log(双辅音(“Johnathan”);//Jjohnnatthhann
    console.log(双辅音(“racecar”);//Rracccarr
    
    console.log(双辅音(“abc123”);//abbcc123
    这是我能想到的最简单的方法:

    常量元音='a,e,i,o,u'.split() str.reduce((nextStr,字母)=>{ 如果(元音包含(字母))返回下一个TSTR+字母 否则返回下一个TSTR+字母+字母 }, '')
    对不起,我在手机上的格式设置有问题

    我能想到的最简单的方法是使用基于a的替换函数。下面的代码示例基本上是将辅音数组转换成一个模式:
    /[bcdfghjklmnpnpqrstvwxz]/gi

    函数双辅音(str){
    常量辅音=['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','z'];
    const re=new RegExp(`[${consonates.join('''}]`,'gi');
    返回str.replace(re,match=>match+match);
    }
    log(双辅音('Johnathan')=='jjohnnatthhann');
    
    log(双辅音('racecar')=='rracccarr')下面是使用正则表达式的简单方法:

    如果字符不是
    a
    e
    i
    o
    u
    ,则我们将再次重复该字符

    常量双辅音=s=>s.replace(/[^aeiou]/gi,char=>char.repeat(2)); console.log(双辅音(“Johnathan”);
    console.log(双辅音(“racecar”)
    A
    用于循环和数组。按
    数组。包括。此外,使用包含所有
    元音的数组将更短,您可以检查每个字符是否为元音,而不是辅音。这对每个人都很好。感谢大家的回复和解决方案,非常感谢!但显然,我们在创建程序时不应该使用数组。虽然我找到了一个解决方案,但它不是我的分享。它是由其他人开发的,他们不想让我分享,所以,我不会发布答案。但是,我发现你所有的答案都很有帮助,所以谢谢你。