[英]Javascript condition to check array length
我有一個從服務器響應返回的數組,它有3種可能,我需要檢查UI;
- 如果長度是0 ..
- 如果長度是1 ...做點什么
- 長度> 1 ...做某事
在上述條件下,是否有更好的方法編寫下面的JS代碼?
if (myArray.length == 0) {
} else if (myArray.length == 1) {
} else {
}
好吧,您可以隨時使用switch
:
switch (myArray.length) {
case 0:
doSomething(); break;
case 1:
doSomethingElse(); break;
default:
doSomethingCompletelyDifferent();
}
好處是,與if-elseif-else
不同,switch表達式僅計算一次。
你所擁有的一切都很好。 或者,您可以使用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強大的OR運算符來處理myArray.length
與dispatch
中的任何條目都不匹配的情況。
switch (myArray.length) {
case 0:
// do somthing
break;
case 1:
// do somthing
break;
default:
// do somthing
break ;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.