0%

Day 32

如果日行一善可以持續,那鐵人應該也可以。

上一篇我們講解了陣列方法的 forEach(),知道它可以做迭代這件事,但在 ECMAScript 5 的陣列方法中大部分的方法都是以迭代為基礎,map()也是。

map()算是陣列方法中最實用的方法之一,我們可以用map()來轉換陣列內的元素,轉換成什麼可由我們決定,以我們想要的方式轉換後,map()會幫我們這些轉換結果,放入另一個新的陣列,回傳回來。

Read more »

Day 31

別一張張的發傳單,宣傳什麼折扣吧!NewsLetters 鍵按寄出一次搞定,像迭代一樣。

前幾篇我們聊到了 ECMAScript 5 的陣列方法,聊到這些方法都有迭代(iterating)的特色,也就是把我們想要執行的函式,從頭到尾逐一(iterates through)的把陣列裡的元素帶進去這個函式處理一遍,forEach()便是我們會常用的方法之一。

Read more »

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 »