测试失败是一个字符串

时间:2016-04-04 15:47:27

标签: javascript arrays string

我正在进行一些练习并在代码大战中遇到这个问题。这是一个简单的练习,其中包含创建一个名为快捷方式的函数的指令,用于删除给定字符串中的所有小写元音。 例子:

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"数组&字符串。

我首先使用正则表达式使其更加可重复使用但这是一场噩梦。我很乐意就其他实现同样事情的方法提出建议。

3 个答案:

答案 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, "");
}