首頁 > web前端 > js教程 > JavaScript趣題:這是哪個世紀?

JavaScript趣題:這是哪個世紀?

黄舟
發布: 2017-02-04 15:15:46
原創
1430 人瀏覽過

輸入一些用數字表示的年份,回傳它們所屬的是哪一個世紀。

例如2016年,毫無疑問,這是第21世紀,我們記作21st。

這些年份都是4位的數字字串,所以無需你對它做校驗。

下面,是一些例子:

Input: 1999 Output: 20th  
Input: 2011 Output: 21st  
Input: 2154 Output: 22nd  
Input: 2259 Output: 23rd  
Input: 1124 Output: 12th  
Input: 2000 Output: 20th
登入後複製

首先,咋們觀察一下,怎麼把年份轉化為世紀?


略作思索,便可以想到,先把年份除以100,再向上取整,就可以得到所屬的世紀。

但是,還有一個問題,世紀後面的那個“st”,“nd”,“rd”,“th”該怎麼弄呢?

咋們拿隻筆,拿張白紙,統計一下,便可以發現規律:

20世紀及以前,比如說:tenth,eleventh,twelfth......twentieth都是加th。

20世紀以後,凡是被10整除得1的世紀,如twentyfirst,thirtyfirst,fortyfirst......都是加st,凡是被10整除得2的世紀,則是加nd,凡是被10整除得3的世紀,加rd。

而20世紀以後的其他世紀,都是加th。

於是,我們把這統計的邏輯寫成程式碼:

function whatCentury(year){  
    var century = Math.ceil(year / 100);  
    if(century <= 20){  
        century += "th";  
    }  
    else{  
        if(century % 10 == 1){  
            century += "st";  
        }  
        else if(century % 10 == 2){  
            century += "nd";  
        }  
        else if(century % 10 == 3){  
            century += "rd";  
        }  
        else{  
            century += "th";  
        }  
    }  
    return century;  
}
登入後複製

以上就是 JavaScript趣題:這是哪個世紀?的內容,更多相關內容請關注PHP中文網(www.php.cn)!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板