我想簡化下面的代碼。這些代碼似乎對我來說是多餘的。這裏有人能幫助我嗎?非常感謝!如何簡化我的條件語句?
if(area.regionCode=='0' || area.regionCode==null){
var fakecode=area.region.substring(0, area.region.length - 1);
area.region= fakecode +i;
}
我想簡化下面的代碼。這些代碼似乎對我來說是多餘的。這裏有人能幫助我嗎?非常感謝!如何簡化我的條件語句?
if(area.regionCode=='0' || area.regionCode==null){
var fakecode=area.region.substring(0, area.region.length - 1);
area.region= fakecode +i;
}
每當你覺得有些代碼沒有直接透露,試着給它一個合適的名字一個新的家庭:
if (!isValidRegionCode(area.regionCode)) {
...
}
...
function isValidRegionCode(regionCode) {
return area.regionCode != null && area.regionCode != '0';
}
它有更多的代碼整體,但讓你的意圖明確。
+1 from me。還意味着什麼是有效的區域代碼(在您的示例中)的「定義」可以在代碼中的單個點處重新使用和維護。 – Sepster
我會建議明確的條件檢查。使用時:
if (area.regionCode) { }
邏輯樣式,一個是將varAny作爲布爾值處理。因此,JavaScript將執行隱式轉換爲任何對象類型varAny的布爾值。
或
if(Boolean(area.regionCode)){
codes here;
}
都將努力同
返回false爲下,
對於字符串零「0」和空格「」,請注意返回true。
你也可以先調整輸出使" "
問題將得到解決 這裏的教程在@mttrb How do I trim a string in javascript?
和@nnnnnn描述的情況下,你可以先轉換字符串或者通過parseInt()
和parseFloat()
檢查這個整數或浮點數Converting strings to numbers
if(parseInt(area.regionCode) > 0) {}
空字符串''''怎麼樣?它是「真」還是「假」? – zerkms
如果代碼的想法是在'area.region'值的末尾更新一個計數器,請注意當它們超過10個時,使當前數字有兩位數(您的代碼只會更新最後一個數字)。 – nnnnnn
我想如果這兩個明確的情況是你正在測試的,那麼這個條件邏輯就OK了。如果你真的擔心語法,你可以編寫一個函數,例如叫做「isNullOrZero()」。 – Sepster