JavaScript:它有效,但是编写此函数的更有效方法是什么?

时间:2015-05-20 05:17:59

标签: javascript arrays function loops if-statement

有没有比使用这么多else if语句更好的方法呢?

  

在下面的输入框中输入一个字符串。如果字符串以:

开头      

""或" A" "以A&#34开头;应该显示。 " B"或" B" "开始   与B"应该显示。 " C"或" C" "从C&#34开始;应该   显示。 " d"或" D" "从D&#34开始;应该显示。 " E"或" E"   "从E&#34开始;应该显示。别的什么"开头   别的东西"应该显示。

function startsWith(input) {
    if(input==='a' || input==='A') {
        return ("starts with A");
    }
    else if(input==='b' || input==='B') {
        return ("starts with B");
    }
    else if(input==='c' || input==='C') {
        return ("starts with C");
    }
    else if(input==='d' || input==='D') {
        return ("starts with D");
    }
    else if(input==='e' || input==='E') {
        return ("starts with E");
    }
    else {
        return ("starts with something else");
    }
}

2 个答案:

答案 0 :(得分:1)

这样的东西?

function startsWith(input) {
    start = input[0].toUpperCase();
    if (start < 'F' && start >= 'A') {
        return "starts with " + start;
    }
    return "starts with something else";
}

答案 1 :(得分:1)

尝试这样做(也检查第一个字符)

function startsWith(input) {
  return "starts with " + (input[0].toLowerCase() >= 'a' && input[0].toLowerCase() <= 'e' ? input[0].toUpperCase() : 'something else');
}