如果我的字符串有两个连续的元音,我需要在两个元音之间插入破折号,但由于返回null而出现错误。



function insertDash(word) {
  const strWord = word.split('');
  for (let i = 0; i < strWord.length; i += 1) {
    if (strWord[i - 1].includes(/[aeiou]/gi) && strWord[1].includes(/[aeiou]/gi)) {
      strWord.push('-');
    }
  }
  return strWord.join('');
}

insertDash("Thiis is a teest");

最佳答案

如注释中所述,您的代码有很多问题,但是我将尝试一种更简单的方法。做这样的事情,它可以工作而无需遍历字符串的字符,而这会引起您现在的大多数问题:

for (let i = 0; i < str.length; i += 1) {
    str = str.replace(/([aeiou])([aeiou])/g, '$1-$2')
 }

09-25 21:15