for语句不从数组返回值

时间:2013-09-09 12:14:25

标签: javascript arrays if-statement for-loop syntax

我正在尝试编写一个将每个辅音加倍的函数translate()。例如,translate(“this is fun”)应该返回字符串“tthhiss iss ffunn”。

下面的代码工作正常,直到我尝试添加数组/秒for循环。运行时,它现在在第二个for循环中返回<的语法错误?这显然不是问题,但经过几次尝试,我仍然不知道问题究竟在哪里?

我出错的任何想法?提前谢谢。

var vowel = ['a','e','i','o','u'];

function translate(text) {

var newText = '';
var isVowel = false;

for (var i = 0; i < text.length; i++) {
        isVowel = false;
    for (var x = 0; < vowel.length; x++) {
        if (text[i] == vowel[x]) 
        {
            isVowel = true;
        }
    }
    if (isVowel != true) {
        newText = newText + text[i] + text[i];
    } else {
        newText = newText + text[i];
    }
}
return newText;
}

console.log(translate('cat sat on the mat'));

2 个答案:

答案 0 :(得分:0)

语法错误,因为您忘记了x

更改

for (var x = 0; < vowel.length; x++) {

for (var x = 0; x < vowel.length; x++) {

答案 1 :(得分:0)

你错过了第二个forloop中的x

你是这样的:

for (var x = 0; < vowel.length; x++)

像这样:

for (var x = 0; x < vowel.length; x++)