[8kyu]How old will I be in 2099?

該算法題來(lái)自于 codewars【語(yǔ)言: javascript】冀痕,翻譯如有誤差钧唐,敬請(qǐng)諒解~

  • 場(chǎng)景

Philip 剛剛四歲溪烤,他想知道他將來(lái)在未來(lái)幾年多少歲县昂,比如2090年或3044年朝聋。他的父母無(wú)法跟上計(jì)算辣往,所以他們請(qǐng)求你幫助他們寫(xiě)一個(gè)程序咏尝,可以回答 Philip 無(wú)休止的問(wèn)題莫瞬。

  • 任務(wù)
    • 寫(xiě)一個(gè)函數(shù),它會(huì)有兩個(gè)參數(shù):出生年份和想要計(jì)算的年數(shù)爬范。由于 Philip 每天都樂(lè)忠于玩這個(gè)游戲捺檬,他很快就想知道他還有多久出生预明,所以你的函數(shù)需要計(jì)算未來(lái)和過(guò)去兩個(gè)時(shí)期役耕。
    • 提供以下格式的輸出:
      1. 對(duì)于未來(lái)的日期:“You are ... year(s) old.”。
      2. 對(duì)于過(guò)去的日期:“You will be born in ... year(s).”聪廉。
      3. 如果出生年份等于要求計(jì)算的日期:“You were born this very year!”
    • “...”將由??數(shù)字代替瞬痘。請(qǐng)注意,您需要區(qū)別 “year”“years” 板熊,這個(gè)取決于計(jì)算出來(lái)的結(jié)果框全。

  • 解答
  • 其一
const calculateAge = (birth, year) => {  
      const result = year - birth;
      let old = '';
      if (result > 0){
        old = "You are " + (result > 1 ? result + " years old." : result + " year old.")
      } else {
        if(!!result){
          old = "You will be born in "+ (-result > 1 ? -result + " years." : -result + " year." )
        } else {
          old = "You were born this very year!";  
        }
      }
      return old;
}
  • 其二
function  calculateAge(m, n) {
      if(m == n) return 'You were born this very year!';
      var year = Math.abs(m-n) == 1 ? 'year' : 'years';
      if(m < n) return "You are "+(n-m)+' '+year+' old.';
      if(m > n) return "You will be born in "+(-n+m)+' '+year+'.';
}
  • 其三
var  calculateAge = (b,c) => {
      r = c-b;
      switch(true) {
        case (r>1):     return "You are " + r + " years old."; break;
        case (r===1):   return "You are 1 year old."; break;
        case (r===0):   return "You were born this very year!"; break;
        case (r===-1):  return "You will be born in 1 year."; break;
        case (r<-1):    return "You will be born in " + (-r) + " years."; break;
      }
}
  • 其四
// es6 模板字符串
function calculateAge(a,b) {
      return   a > b  
         ?  `You will be born in ${a-b} year${a-b==1?"":"s"}.` 
         :  a < b ? `You are ${b-a} year${b-a==1?"":"s"} old.` :  `You were born this very year!`
}
  • 其五
const calculateAge = (a, b) => 'You ' + (a == b ? 'were born this very year!' : a > b ? `will be born in ${a - b} year${a - b != 1 ? 's' : ''}.`: `are ${b - a} year${b - a != 1 ? 's' : ''} old.`);
  • 其六
function calculateAge(birth, query) {
      const diff = Math.max(...arguments) - Math.min(...arguments);
      const isPlural = diff > 1 ? 's' : '';
      return {
        [birth < query]: `You are ${diff} year${isPlural} old.`,
        [birth > query]: `You will be born in ${diff} year${isPlural}.`,
        [birth === query]: "You were born this very year!"
      }[true]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市干签,隨后出現(xiàn)的幾起案子津辩,更是在濱河造成了極大的恐慌,老刑警劉巖容劳,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喘沿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡竭贩,警方通過(guò)查閱死者的電腦和手機(jī)蚜印,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)留量,“玉大人窄赋,你說(shuō)我怎么就攤上這事÷ハǎ” “怎么了忆绰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)可岂。 經(jīng)常有香客問(wèn)我错敢,道長(zhǎng),這世上最難降的妖魔是什么青柄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任伐债,我火速辦了婚禮预侯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘峰锁。我一直安慰自己萎馅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布虹蒋。 她就那樣靜靜地躺著糜芳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪魄衅。 梳的紋絲不亂的頭發(fā)上峭竣,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音晃虫,去河邊找鬼皆撩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛哲银,可吹牛的內(nèi)容都是我干的扛吞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼荆责,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼滥比!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起做院,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤盲泛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后键耕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體寺滚,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年郁竟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了玛迄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棚亩,死狀恐怖蓖议,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情讥蟆,我是刑警寧澤勒虾,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站瘸彤,受9級(jí)特大地震影響修然,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一愕宋、第九天 我趴在偏房一處隱蔽的房頂上張望玻靡。 院中可真熱鬧,春花似錦中贝、人聲如沸囤捻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蝎土。三九已至,卻和暖如春绣否,著一層夾襖步出監(jiān)牢的瞬間誊涯,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蒜撮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留暴构,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓段磨,卻偏偏與公主長(zhǎng)得像丹壕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子薇溃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,509評(píng)論 0 23
  • (1) 本月7日堕绩,我加入第八期湯小小輕松高效寫(xiě)作群策幼。 在進(jìn)入此群之前,我的微信公眾號(hào)寫(xiě)作已持續(xù)數(shù)月奴紧,簡(jiǎn)書(shū)寫(xiě)作特姐,則剛...
    水波楊山閱讀 4,089評(píng)論 5 3
  • ?#青蛙打卡#B1劉文華9月20日江西45/100 【百日目標(biāo)】 1.23:00/7:00 2.【閱讀8/12+運(yùn)...
    Twinkle_L閱讀 193評(píng)論 0 0