iT邦幫忙

0

在HackerRank的第二天

今天看著流覽器切換到的測驗是Day7,不是我很厲害,而是我昨天完成Day1後按next Challeng後被傳送到Day7,害我昨天寫心得的時候已為自己做了多少題。

就算這樣我也是硬著頭皮給弄完了,這個題目要用到regular expression(正規表示式),而且多數介紹網頁內容很淺,就是一些單一字符的介紹,稍微長一點的程式碼模擬都不好看到,其它MDN啥的都不易閱讀。
由淺入深推薦閱讀:
https://larry850806.github.io/2016/06/23/regex/
http://ccckmit.wikidot.com/regularexpression
https://www.cyut.edu.tw/~ckhung/b/gnu/regexp.php
有趣的練習平台
https://regexr.com/
唯一問題是有部分可能假設有流覽器不支援而不顯示,還是要自己在開發者環境做測試。

javascript的一個基本邏輯我竟然才搞懂,看到題目的瞬間我以為用for if做判斷就好,結果在主程式只是讓你寫regular expression,我都搞完邏輯才發現這個真相,想說用兩者參雜可能可以解答,結果用regular expression就一行完全搞定,替代掉我20行左右的判斷邏輯有夠暴力,可是同時邏輯也要夠強才能寫出這個題目的要求,發現兩個完美解答的邏輯,一個恥力無限用|(or)並列條件,一個是用可能有部分流覽器無法支援的語法。

function callIt() {
    const re=new RegExp(/.../);
    return re;
}
function main() {
    const re = callIt()
    console.log(re.test(s));
}

最後發現作弊的關鍵,問對問題很重要,我從.test()> new RegExp(/.../)> regular expression> 模擬平台> stackoverflow!!!找到答案,只要問對問題,不過這些都是我應該學的,花了一天搞這一題真的也是大腦壓在地上摩擦,很有感覺。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言