2016-12-29 35 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){ 
相关问题