2017-03-16 45 views
-2

因此,在下面的代碼中,a = -1因此while循環中的語句應爲-1,但while循環從不輸入。我已經循環但不明白爲什麼while循環從未執行。我相信這是令人沮喪的簡單。未在while循環中分配的值

function translatePigLatin(str) { 
    var newStr = str.split(""); 
    var vowels = ["a","e","i","o","u"]; 
    var i = 0; 
    var a = vowels.indexOf(newStr[0]); 
    while (vowels.indexOf(newStr[i]) != -1) { 
     i = i++; 
    } 
    if(i===0){ 
     return str + "way"; 
    } 
    else{ 
     str = str.substr(i) + str.substr(0,i) + "way"; 
    } 
    //return str; 
    } 

    translatePigLatin("consonant"); 
+0

我已經添加了[標籤:java描述]標記,因爲你的代碼看起來。請註明是否爲 –

+0

a = -1是什麼意思?你的意思是你的字符串是-1? –

+0

'我=我++;'很奇怪。因爲newStr [0]不是元音,所以請使用'i ++;'或'i = i + 1;' –

回答

0

在您檢查vowels.indexOf(newStr[i]) != -1這意味着,如果vowels.indexOf(newStr[i])-1那麼while循環應該BVE執行while循環。正如你所說的表達式結果在-1中,循環不應該被執行,這是一個預期的行爲。

更改條件

如果要執行while循環

vowels.indexOf(newStr[i]) == -1是返回的值是-1

+0

你是完全正確的。我確信我已經運行了兩種方式,並且無法以任何方式執行它。我知道這太容易了.... – rsteen76