Javascript条件检查数组长度

时间:2014-09-08 08:32:03

标签: javascript

我有一个从服务器响应返回的数组,它有3种可能性,我需要检查UI;

  
      
  1. 如果长度是0..do某事
  2.   
  3. 如果长度为1 ...做某事
  4.   
  5. 长度> 1 ...做点什么
  6.   

考虑到上述条件,是否有更好的方法来编写下面的JS代码?

if (myArray.length == 0) {

} else if (myArray.length == 1) {

} else {

}

3 个答案:

答案 0 :(得分:6)

嗯,您可以随时使用switch

switch (myArray.length) {
  case 0:
    doSomething(); break;
  case 1:
    doSomethingElse(); break;
  default:
    doSomethingCompletelyDifferent();
}

好处是切换表达式只计算一次,与if-elseif-else不同。

答案 1 :(得分:4)

你有什么好。或者,您可以使用switch

switch (myArray.length) {
    case 0:
        // Empty
        break;
    case 1:
        // Has one entry
        break;
    default:
        // Has more than one entry
        break;
}

或者您有时会看到调度表,但是当您调用函数时,它们确实最相关:

var dispatch = {
    0: handleArrayEmpty,
    1: handleArrayOneEntry,
    multi: handleArrayMultipleEntries
};

(dispatch[myArray.length] || dispatch.multi)();

当然,那里有点儿。 :-)它使用JavaScript's curiously-powerful OR operator来处理myArray.lengthdispatch中的任何条目都不匹配的情况。

答案 2 :(得分:0)

switch (myArray.length) {
                  case 0:
                   // do somthing
                  break;

                  case 1:
                   // do somthing   
                  break;

                  default:
                   // do somthing   
                  break ;
        }