0%

Day 30

據聞,在法國晚餐可以從七點半吃到 11 點。婚宴呢?可以從晚上十點吃到凌晨五點。我的鐵人賽大概就是這個概念。

從來沒想過,自己可以寫陣列寫得這麼久,每天都會超過三百字以上,有時想想,老天鵝!也才一個陣列就這樣寫了一個月還不夠,那物件、異步、範疇、正規和 promise 不就排到明年去了?

打從轉職到現在,學習路上一直是沮喪、坎坷、壓力、燒腦的無盡迴圈,就像寫遞迴ㄧ樣,幾次的無限迴圈搞到無法關機,真的是會讓人嚇到。問自己嚇到後還要不要寫?要!因為這或許會成為下半輩子的樂趣之一。

Read more »

Day 29

生活要簡約,寫程式也是。但是,可能嗎?

ECMAScript 5 的陣列方法,除了前兩篇介紹的indexOf()lastIndexOf()外,還有許多非常好用的方法,這些方法包含了對陣列做迭代(iterating)、對映(mapping)、過濾(filtering)、測試(testing)、約簡(reducing)這是什麼?! 和搜尋(search)的功能。

剛開始接觸這些「動詞」時,實在有點不知所措,我們先來了解一下這些詞的意義。因為這些詞用在不同的領域會有不太相同的解釋,所以我們以 JavaScript 的解釋為主。中文翻譯部分也會以「JavaScript 大全中文版」為主。

Read more »

Day 28

你!就是你。那個最後一個戴黑帽黑衣的站出來!你認識那位排在前頭和你穿ㄧ樣的俠客嗎?

昨天我們介紹了indexOf(),今天要來介紹和它算是一對的lastIndexOf()
lastIndexOf()會把我們指定的元素,在陣列裡查找,並將陣列裡「最後一個」找到的元素索引值 其實也是第一個,傳回來給我們。

Read more »

Day 27

那一排,都是穿黑衣戴口罩的,去幫我找出搗亂的。抱歉,我只能給你 -1 因為連我們偶爾都會穿黑衣戴口罩。

終於,我們要進入 ECMAScript 5 的陣列方法了!
ECMAScript 5 定義了許多很重要的陣列方法,包括了過濾、檢測、遍歷、搜索和鏡射的方法,讓我們能更輕易的操控陣列與陣列元素。

但是今天是週末,我們先來介紹相對比較沒那麼複雜的indexOf()

Read more »

Day 26

我不只知道你從哪裡來,還可以知道你那裡幾點、拿什麼貨幣跟你交換!

前一篇介紹了可以把陣列轉成字串的toString()的方法,今天我們就來介紹更好用的toLocaleString()

大家應該有發現,這個方法多了個關鍵字的 Locale ,也應該猜得出來它可以幫我們做本地化這件事吧?toLocaleString()toString()的本地化(localized)版本,它會藉由呼叫元素的toLocaleString()方法,把每個陣列元素都轉成字串,然後以區域的特性(由參數定義)來將元素轉換成當地化的版本,再串接這些結果為一個字串。

Read more »

Day 25

我不想理你是歐洲人、美洲人、非洲人或哪國人,我就是要說中文。

常常聽到人家說 JavaScript 是弱型別語言,剛開始學程式的時候真的有點一頭霧水,進一步的了解,才知道在程式語言的分類上,有所謂強型別(Strong type)和弱型別(Weak type)語言之分,強弱是相對的,但強弱之間並沒有絕對,而是依語言對型態檢查的嚴格程度,以及型態轉換的規則是否多元而定論。

JavaScript 是偏向弱型別語言的,我們會發現 JavaScript 雖然有型別之分,但是常一不小心就可能踩到雷,或者是被自動轉型,這也算是 JavaScript 難掌控的原因之一吧?例如,我們可以拿字串來做運算,這很怪,但是對 JavaScript 卻是可行的。

Read more »

Day 24

插隊也不能插成這樣,我們之間總是可以插點花什麼的。

不知道大家有沒有吃過義大利的千層麵,一層麵皮一層蕃茄餡料,然後再一層麵皮一層蕃茄餡料,直到最後一層麵皮鋪上,撒上會拉絲的乳酪,再送進烤箱裡烤,美味的千層麵就這樣做好了。 肚子也餓了

join()做的事就像是千層麵一樣,陣列裡面的元素有如番茄餡料,以字串形式包覆,還可以選擇之間要穿插什麼,如果我們不選擇,就是很單純的麵皮
逗點就是了。

Read more »

Day 23

倒立一點都不稀奇,只要使用一點魔法,我也可以倒著走。

今天要來講一個很輕鬆的陣列方法,它可以把陣列反轉過來,而且和上一篇介紹的sort()ㄧ樣,是原地(in place)的改變原陣列。

記得有遇過一個習題,是要測驗某個字串是不是回文,回文就是從前面開始讀或從後面開始讀,都會是一樣的結果。像是 aba、haooah 都是,要驗證是不是回文,就會用到reverse(),把字串拆解反轉後,再和原本的字串做比較,如果兩邊相等,就表示是回文字串。

Read more »

Day 22

一堆樸克牌攤在眼前,要照花色排還是大小來排?隨你高興。

sort()是個很好用的陣列方法,凡是要把陣列裡面的元素,照我們想排列的方式重新排列都需要用到它。例如在購物網站的商品依價格排列,或是我們看文章時,依照最近的時間排列,都會用到sort()

在做排序時,我們也會同時原地(in place)的更動到原陣列,且回傳給我們排好序的陣列。

Read more »

Day 21

這邊刪一下、那邊加一下,阿不,從後面改起!主管,可不可以不要這樣玩來玩去嗎?

splice 中文為拼接。可以藉由刪除原來有的元素並/或加入新元素來改變一個陣列的內容。

但其實splice()不只會拼接,還可以指定在哪個點刪除與增加元素,且一次還可以增加多個。剛開始使用splice()常記不起來三個參數的含義,我們可以用這個比喻來增加記憶:

想像主管請我們做一個產品介紹的投影片,花了一整天終於把投影片做好 這樣算慢嗎?,拿去給主管看時,主管看了看說,啊這樣不行啦,你都沒放產品的側面和背面介紹,你從第三頁(start)那裡開始,把都是文字的那頁(deleteCount)使用說明拿掉,再把我說的側面和背面介紹兩頁(item1, item2)放進去,這樣就會更完美了。。

Read more »