如果我的字符串有两个连续的元音,我需要在两个元音之间插入破折号,但由于返回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')
}