我正在进行一些练习并在代码大战中遇到这个问题。这是一个简单的练习,其中包含创建一个名为快捷方式的函数的指令,用于删除给定字符串中的所有小写元音。 例子:
shortcut("codewars") // --> cdwrs
shortcut("goodbye") // --> gdby
我是新手,所以我想到了这个解决方案。但它不起作用,我不知道为什么
function shortcut(string){
// create an array of individual characters
var stage1 = string.split('');
// loop through array and remove the unneeded characters
for (i = string.length-1; i >= 0; i--) {
if (stage1[i] === "a"||
stage1[i] === "e"||
stage1[i] === "i"||
stage1[i] === "o"||
stage1[i] === "u") {
stage1.splice(i,1)
;}
};
// turn the array back into a string
string = stage1.join('');
return shortcut;
}
我的直觉告诉我,可能会喜欢拆分和加入而不是创造" true"数组&字符串。
我首先使用正则表达式使其更加可重复使用但这是一场噩梦。我很乐意就其他实现同样事情的方法提出建议。
答案 0 :(得分:4)
您正在返回函数本身,而不是返回string
答案 1 :(得分:1)
使用正则表达式:
var str = 'codewars';
var regex = /[aeiou]/g;
var result = str.replace(regex, '');
document.write(result);

答案 2 :(得分:1)
如果对正则表达式感兴趣;)
function shortcut(str) {
return str.replace(/[aeiou]/g, "");
}