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