Day 32
如果日行一善可以持續,那鐵人應該也可以。
上一篇我們講解了陣列方法的 forEach()
,知道它可以做迭代這件事,但在 ECMAScript 5 的陣列方法中大部分的方法都是以迭代為基礎,map()
也是。
map()
算是陣列方法中最實用的方法之一,我們可以用map()
來轉換陣列內的元素,轉換成什麼可由我們決定,以我們想要的方式轉換後,map()
會幫我們這些轉換結果,放入另一個新的陣列,回傳回來。
生活要簡約,寫程式也是。但是,可能嗎?
ECMAScript 5 的陣列方法,除了前兩篇介紹的indexOf()
和lastIndexOf()
外,還有許多非常好用的方法,這些方法包含了對陣列做迭代(iterating)、對映(mapping)、過濾(filtering)、測試(testing)、約簡(reducing)這是什麼?! 和搜尋(search)的功能。
剛開始接觸這些「動詞」時,實在有點不知所措,我們先來了解一下這些詞的意義。因為這些詞用在不同的領域會有不太相同的解釋,所以我們以 JavaScript 的解釋為主。中文翻譯部分也會以「JavaScript 大全中文版」為主。
我不只知道你從哪裡來,還可以知道你那裡幾點、拿什麼貨幣跟你交換!
前一篇介紹了可以把陣列轉成字串的toString()
的方法,今天我們就來介紹更好用的toLocaleString()
。
大家應該有發現,這個方法多了個關鍵字的 Locale ,也應該猜得出來它可以幫我們做本地化這件事吧?toLocaleString()
是toString()
的本地化(localized)版本,它會藉由呼叫元素的toLocaleString()
方法,把每個陣列元素都轉成字串,然後以區域的特性(由參數定義)來將元素轉換成當地化的版本,再串接這些結果為一個字串。
我不想理你是歐洲人、美洲人、非洲人或哪國人,我就是要說中文。
常常聽到人家說 JavaScript 是弱型別語言,剛開始學程式的時候真的有點一頭霧水,進一步的了解,才知道在程式語言的分類上,有所謂強型別(Strong type)和弱型別(Weak type)語言之分,強弱是相對的,但強弱之間並沒有絕對,而是依語言對型態檢查的嚴格程度,以及型態轉換的規則是否多元而定論。
JavaScript 是偏向弱型別語言的,我們會發現 JavaScript 雖然有型別之分,但是常一不小心就可能踩到雷,或者是被自動轉型,這也算是 JavaScript 難掌控的原因之一吧?例如,我們可以拿字串來做運算,這很怪,但是對 JavaScript 卻是可行的。