我正在写一个代码来去掉单词中的最后一个元音,但它删除了最后一个字母.我哪里错了
I am writing a code to get rid of the last vowel in a word, but it is deleting the last letter. Where am I going wrong?
我正在写一个代码来去掉单词中的最后一个元音,但它正在删除最后一个字母。我哪里错了?
function removeLastVowel(word) {
var vowels = ["a", 'e', 'i', 'o', 'u'];
for (var i = word.length - 1; i >= 0; i--) {
if (vowels.indexOf(word[i]) !== undefined) {
return (word.slice(0, i) + word.slice(i + 1));
}
}
return word;
}
console.log(removeLastVowel("heard"));
indexOf()
如果未找到,则返回-1,而不是未定义的
这个问题已经有了答案,但我发现用regex解决这个问题很有趣。
这可能看起来很粗糙,但它确实有效;)
这个正则表达式只是说:
如果之后没有这些[aeiou],则服用其中一种/aeiou]。我花了一点时间才明白这一点
function removeLastVowel(word) {
return word.replace(/[aeiou](?!.*?[aeiou])/i, '')
}
console.log(removeLastVowel("ax"));
console.log(removeLastVowel("aa"));
console.log(removeLastVowel("hearaa"));
console.log(removeLastVowel("heara"));
console.log(removeLastVowel("hea"));
相关文章:
- 我正在尝试实现一个AJAX调用.我做错了什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么
- 检查是否单击了最后一个元素
- 将 Base64 字符串从 AS3 返回到 Javascript.这是一个错误或功能(还是我错了?
- 当单击jquery-ui选项卡时,我需要运行一个函数,我做错了什么
- 我在 JS 中做错了什么?我需要每个元素的一个坐标,但不是全部
- 回调不是一个函数:我做错了什么
- NodeJs:fs.appendFile 函数似乎错过了最后一个给定的字符串
- JavaScript:Object.prototype.toString(new Number(5)) 似乎返回了一个错
- 我有一个javascript函数,我可以'Don't tell what I;我做错了
- 我的谷歌电子表格脚本只运行一个函数.我把剧本编错了吗
- AJAX和一个全局变量不起作用,我错了吗
- 在循环中,I'm附加了一个标记,提醒循环索引计数.为什么它总是提醒循环的最后一个索引
- 什么'这个代码错了吗?我尝试在一个循环中创建多个数组
- 我以为我有一个this引用传递到Javascript闭包中的私有函数,我想错了
- 脚本只会最后一个文本和最后一个颜色,但会按照指示进行动画,发生了什么?
- 在JavaScript中,console.log给出了for循环的每个值.但是var.text只显示最后一个值.这是为什
- 当我打开太多页面并忽略最后一个URL时,PhantomJS崩溃了
- 我正在写一个代码来去掉单词中的最后一个元音,但它删除了最后一个字母.我哪里错了