#2 Codewars - Super Duper Easy (8 kyu)

閱讀時間約 1 分鐘

題目

原始題目

建立一個傳回值乘以 50 並增加 6 的函數。如果輸入的值是字串,則應傳回「Error」。

拆解流程

  • 判斷輸入值的型別:這邊使用 typeof 方法判斷型別類型,需要注意該方法回傳的是字串,且皆為小寫
  • 根據題意進行數學運算

撰寫程式

考量到萬一傳入 String 和 Number 以外的型別,會有預期外的狀況,雖然題目並沒有特別定義這塊,但在這邊的型別判斷上,筆者是撰寫成「當傳入值的型別是 Number 」時才進行下一步運算。

function problem(x) {
return typeof x !== "number" ? "Error" : x * 50 + 6;
}

改善程式寫法

有發現到一個蠻特別的方法:Number.isFinite()

該方法會檢查傳入值是否為 Number,且符合以下條件時才會回傳 true:

  • 為 Number 型別
  • 不是 infinity
  • 不是 NaN

範例如下

Number.isFinite(Infinity); // false
Number.isFinite(NaN); // false
Number.isFinite(-Infinity); // false

因此前面的程式可以改寫如下:

function problem(x) {
return Number.isFinite(x) ? x * 50 + 6 : "Error";
}

相較於 isNaN() 方法需要另外判斷空字串,這個方法在判斷上更加全面

今天就介紹到這裡,如果大家有更好的寫法歡迎一起來討論哦~

參考資料


7會員
30Content count
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
發表第一個留言支持創作者!
傑米的沙龍 的其他內容
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
本次的挑戰是「CSS Variables」,需要達成的目標是:「使用者操作拉桿或是選色器時,底下圖片的樣式會有對應的變化。」
本次的挑戰是「CSS + JS Clock」,需要達成的目標是:「時鐘的指針會轉動,指針都必須依據現實時鐘的規則前進。」這次需要搭配 CSS 動畫,製作時鐘的指針旋轉效果。
這系列文章會記錄 JS 30 當次挑戰時使用到的語法和相關知識。JS 30 官方有提供所有製作網頁的資源,不需要任何事前準備,就能無痛開始撰寫 JS,寫完之後還有 JS 30 作者提供的解答,不知道怎麼下手時可以參考、寫完之後也能了解更多解法,改善自己的寫法。
這篇主要會透過 CDN 引入 Material Icons,並補足官方文件裡只有提到 Filled 類別的引用方式,但沒有提到其他類別,像是 Outlined、Rounded、Sharp、Two tone,另外還會提到如何透過偽元素加入 Material Icons,現在我們就來看看如何引入吧!
提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
Codewars 是個程式練習網站,筆者主要練習的是 JavaScript,會記錄自己的解法,並參考其他人的寫法來改善自己的程式碼,那麼我們就開始吧!
本次的挑戰是「CSS Variables」,需要達成的目標是:「使用者操作拉桿或是選色器時,底下圖片的樣式會有對應的變化。」
本次的挑戰是「CSS + JS Clock」,需要達成的目標是:「時鐘的指針會轉動,指針都必須依據現實時鐘的規則前進。」這次需要搭配 CSS 動畫,製作時鐘的指針旋轉效果。
這系列文章會記錄 JS 30 當次挑戰時使用到的語法和相關知識。JS 30 官方有提供所有製作網頁的資源,不需要任何事前準備,就能無痛開始撰寫 JS,寫完之後還有 JS 30 作者提供的解答,不知道怎麼下手時可以參考、寫完之後也能了解更多解法,改善自己的寫法。
這篇主要會透過 CDN 引入 Material Icons,並補足官方文件裡只有提到 Filled 類別的引用方式,但沒有提到其他類別,像是 Outlined、Rounded、Sharp、Two tone,另外還會提到如何透過偽元素加入 Material Icons,現在我們就來看看如何引入吧!
提升(Hoisting) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
│2月8日 │『一日一花』-聖誔歐石楠 │花語:孤獨 │蛇眼石楠花 │『一日一色』-根岸色 │帶綠的灰
2-2-8漢寶德 一、生 平 1.童年貧苦,力爭上游 2.下苦功研究建築,創辦刊物 大學時,漢寶德罹患肺結核,休學回家養病兩年。養病期間,為了打發時間,開始大量閱讀,使自己沉浸在感性世界裡,亦在此時計畫提升英文能力,於是閱讀英文雜誌,並練習將文章翻譯出來,這些為他將來的升學和人生打下了良好的基礎。
Thumbnail
2015年,六月十六號。 隔天,我和馬丁等可瑞哥回來庇護所後,當他得知了那天晚上我們等他等到十點,他很驚訝又感動的說: 「其實你們不用等我啦! 」 「這本來就是朋友會做的事!」我回答。 「但是昨天晚上真的是夭壽冷! 」可瑞哥真的睡在街上了。 「那你幹嘛還走回來啊?」我問他。
Thumbnail
Juliet: 昨天前往世界書局買朱生豪翻譯的莎士比亞劇本。回家取道西門鬧區,街道豔陽灸人,但人潮洶湧,有如新年,原來是大學聯考結束的緣故,再加上昨天是暑假以來第一個禮拜天,所以年輕人多來西門鬧區找尋自己想望的星期天。可是這人群卻嚇得我趕快回家。
Thumbnail
[地球]9/30~10/8 紀錄一下第一次冥想後的物質實相生活~我把時間又拉得更早一點,原因是9/29那天我上了一堂小貓老師的課(我的開悟卡老師) 這堂課對我來說清清淡淡的像朋友聊天,在場有比較處於困境的朋友分享,但我的應該是很無趣的案例~ 但你永遠無法知道你的靈魂在哪些場合,瞭解了什麼事情!
Thumbnail
週六22:00-00:00 播出 (CST)。FM98.1 News98電台。大台北地區以外請利用線上收聽 www.news98.com.tw 點選「線上收聽」鏈結即可。亦可利用 hiChannel 收聽。 It was 40 years ago today:
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
│2月8日 │『一日一花』-聖誔歐石楠 │花語:孤獨 │蛇眼石楠花 │『一日一色』-根岸色 │帶綠的灰
2-2-8漢寶德 一、生 平 1.童年貧苦,力爭上游 2.下苦功研究建築,創辦刊物 大學時,漢寶德罹患肺結核,休學回家養病兩年。養病期間,為了打發時間,開始大量閱讀,使自己沉浸在感性世界裡,亦在此時計畫提升英文能力,於是閱讀英文雜誌,並練習將文章翻譯出來,這些為他將來的升學和人生打下了良好的基礎。
Thumbnail
2015年,六月十六號。 隔天,我和馬丁等可瑞哥回來庇護所後,當他得知了那天晚上我們等他等到十點,他很驚訝又感動的說: 「其實你們不用等我啦! 」 「這本來就是朋友會做的事!」我回答。 「但是昨天晚上真的是夭壽冷! 」可瑞哥真的睡在街上了。 「那你幹嘛還走回來啊?」我問他。
Thumbnail
Juliet: 昨天前往世界書局買朱生豪翻譯的莎士比亞劇本。回家取道西門鬧區,街道豔陽灸人,但人潮洶湧,有如新年,原來是大學聯考結束的緣故,再加上昨天是暑假以來第一個禮拜天,所以年輕人多來西門鬧區找尋自己想望的星期天。可是這人群卻嚇得我趕快回家。
Thumbnail
[地球]9/30~10/8 紀錄一下第一次冥想後的物質實相生活~我把時間又拉得更早一點,原因是9/29那天我上了一堂小貓老師的課(我的開悟卡老師) 這堂課對我來說清清淡淡的像朋友聊天,在場有比較處於困境的朋友分享,但我的應該是很無趣的案例~ 但你永遠無法知道你的靈魂在哪些場合,瞭解了什麼事情!
Thumbnail
週六22:00-00:00 播出 (CST)。FM98.1 News98電台。大台北地區以外請利用線上收聽 www.news98.com.tw 點選「線上收聽」鏈結即可。亦可利用 hiChannel 收聽。 It was 40 years ago today: