2016-12-29 67 views
1

我想讓這隻豬拉丁功能,但跑到這個奇怪的問題。當我檢查第一個字符是否在元音數組中時,if語句返回它!爲什麼如果陳述返回矛盾的東西?

所以我查了一下,看看我的情況是否有問題,但是顯然返回-1。

如果這不是-1,則返回該字母的索引是我所要求的,然後返回-1。根本沒有意義。

function translatePigLatin(str) { 
    vowels = ['a','e','i','o','u']; 

    if (vowels.indexOf(str.charAt(0) != -1)){ 
    return vowels.indexOf(str.charAt(0)); 
    } else { 
    return false; 
    } 
} 

translatePigLatin("consonant"); 

任何人都可以解釋這一點嗎?

+4

你有錯'(...)'那裏:) – Dekel

+3

你正在做'= -1'了'indexOf'說法裏面! –

+0

dang謝謝指出那個傢伙,我覺得啞巴。 – Danny

回答

2

在您的if語句中,您正在檢查indexOf條件。你只是想檢查indexOf(str.charAt(0))。所以,重寫該行:

if (vowels.indexOf(str.charAt(0)) != -1){