#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會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言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) 指的是在創造環境階段時就把變數準備好,這時值還沒被賦予到變數上。此類型的概念可以使用執行環境的「創造階段」與「執行階段」來理解。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
「你可以鉤一點東西,我幫你賣,幫你上架出貨什麼的。」他這樣跟我說。 坐在桌前一手持線一手握著鉤針,來來回回,一個小時能做好一隻小鞋子,搭配一兩集電視劇,一個上午就這麼過了。 我問自己這樣算不算頹廢?在三十多歲的年紀,不在職場上打拼,坐在這項個老奶奶一樣的消磨人生,消磨志氣。 起而行又不知道行去
問曰:白衣有妻子,婬欲不除,憑何得成佛? 答曰:只言見性不言婬欲。只為不見性;但得見性,婬欲本來空寂,自爾斷除,亦不樂著,縱有餘習,不能為害。何以故?性本清淨故。 白話註解: 有人問:「在家人有妻子,欲望未除,憑什麼能成佛呢?」回答說:「我們只談見性,不談欲望。因為不見自性,所以有欲望;一旦見
Thumbnail
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
Thumbnail
題目:你的團隊正在開發一個新的高級文本編輯器,你的任務是實現行號功能。請編寫一個函數,該函數接受一個字符串列表作為輸入,並返回每行字符串前面附帶正確的行號。行號從 1 開始計數。格式為 n: 字符串。請注意冒號和空格之間的間隔。
Thumbnail
│2月8日 │『一日一花』-聖誔歐石楠 │花語:孤獨 │蛇眼石楠花 │『一日一色』-根岸色 │帶綠的灰
2-2-8漢寶德 一、生 平 1.童年貧苦,力爭上游 2.下苦功研究建築,創辦刊物 大學時,漢寶德罹患肺結核,休學回家養病兩年。養病期間,為了打發時間,開始大量閱讀,使自己沉浸在感性世界裡,亦在此時計畫提升英文能力,於是閱讀英文雜誌,並練習將文章翻譯出來,這些為他將來的升學和人生打下了良好的基礎。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
「你可以鉤一點東西,我幫你賣,幫你上架出貨什麼的。」他這樣跟我說。 坐在桌前一手持線一手握著鉤針,來來回回,一個小時能做好一隻小鞋子,搭配一兩集電視劇,一個上午就這麼過了。 我問自己這樣算不算頹廢?在三十多歲的年紀,不在職場上打拼,坐在這項個老奶奶一樣的消磨人生,消磨志氣。 起而行又不知道行去
問曰:白衣有妻子,婬欲不除,憑何得成佛? 答曰:只言見性不言婬欲。只為不見性;但得見性,婬欲本來空寂,自爾斷除,亦不樂著,縱有餘習,不能為害。何以故?性本清淨故。 白話註解: 有人問:「在家人有妻子,欲望未除,憑什麼能成佛呢?」回答說:「我們只談見性,不談欲望。因為不見自性,所以有欲望;一旦見
Thumbnail
題目:你將會得到一個單詞,你的任務是返回該單詞的中間字符。如果單詞的長度是奇數,則返回中間字符。如果單詞的長度是偶數,則返回中間的兩個字符。
Thumbnail
題目:你的團隊正在開發一個新的高級文本編輯器,你的任務是實現行號功能。請編寫一個函數,該函數接受一個字符串列表作為輸入,並返回每行字符串前面附帶正確的行號。行號從 1 開始計數。格式為 n: 字符串。請注意冒號和空格之間的間隔。
Thumbnail
│2月8日 │『一日一花』-聖誔歐石楠 │花語:孤獨 │蛇眼石楠花 │『一日一色』-根岸色 │帶綠的灰
2-2-8漢寶德 一、生 平 1.童年貧苦,力爭上游 2.下苦功研究建築,創辦刊物 大學時,漢寶德罹患肺結核,休學回家養病兩年。養病期間,為了打發時間,開始大量閱讀,使自己沉浸在感性世界裡,亦在此時計畫提升英文能力,於是閱讀英文雜誌,並練習將文章翻譯出來,這些為他將來的升學和人生打下了良好的基礎。