Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查数组长度的Javascript条件_Javascript - Fatal编程技术网

检查数组长度的Javascript条件

检查数组长度的Javascript条件,javascript,Javascript,我有一个从服务器响应返回的数组,它有3种可能,我需要检查UI 如果长度是0,做点什么 如果长度是1…做点什么 长度>1…做点什么 在上述条件下,有没有更好的方法来编写下面的JS代码 if (myArray.length == 0) { } else if (myArray.length == 1) { } else { } 嗯,您可以随时使用开关: 好处是开关表达式将只计算一次,这与if-elseif-else不同。您所拥有的一切都很好。或者,您可以使用开关: 或者,您有时会看到分派表,

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

如果长度是0,做点什么 如果长度是1…做点什么 长度>1…做点什么 在上述条件下,有没有更好的方法来编写下面的JS代码

if (myArray.length == 0) {

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

} else {

}
嗯,您可以随时使用开关:


好处是开关表达式将只计算一次,这与if-elseif-else不同。

您所拥有的一切都很好。或者,您可以使用开关:

或者,您有时会看到分派表,但在调用函数开始时,它实际上是最相关的:

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

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

这当然有点离谱了它利用来处理myArray.length与dispatch中的任何条目都不匹配的情况。

不同吗?几个较好的不,它们都一样,真的。就像分派对象方法一样!
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)();
switch (myArray.length) {
                  case 0:
                   // do somthing
                  break;

                  case 1:
                   // do somthing   
                  break;

                  default:
                   // do somthing   
                  break ;
        }