Day 22
一堆樸克牌攤在眼前,要照花色排還是大小來排?隨你高興。
sort()
是個很好用的陣列方法,凡是要把陣列裡面的元素,照我們想排列的方式重新排列都需要用到它。例如在購物網站的商品依價格排列,或是我們看文章時,依照最近的時間排列,都會用到sort()
。
在做排序時,我們也會同時原地(in place)的更動到原陣列,且回傳給我們排好序的陣列。
這邊刪一下、那邊加一下,阿不,從後面改起!主管,可不可以不要這樣玩來玩去嗎?
splice 中文為拼接。可以藉由刪除原來有的元素並/或加入新元素來改變一個陣列的內容。
但其實splice()
不只會拼接,還可以指定在哪個點刪除與增加元素,且一次還可以增加多個。剛開始使用splice()
常記不起來三個參數的含義,我們可以用這個比喻來增加記憶:
想像主管請我們做一個產品介紹的投影片,花了一整天終於把投影片做好 這樣算慢嗎?,拿去給主管看時,主管看了看說,啊這樣不行啦,你都沒放產品的側面和背面介紹,你從第三頁(start)那裡開始,把都是文字的那頁(deleteCount)使用說明拿掉,再把我說的側面和背面介紹兩頁(item1, item2)放進去,這樣就會更完美了。。
人生像是一列火車,旅程中總是會搭載著不同貨物,走得越遠掛載的越多,包括肥肉。
在法國搭高速火車時,曾經收到朋友的告誡:千萬不要自己亂換車廂,尤其是火車停在某一站的時候。
原本不以為意,但聽到以下的故事就頓時聽話了:
某人在火車停靠在某一站時,因為肚子痛急著想上廁所,但自己座位的那節車廂廁所卻有人,於是到隔壁的車廂去上,拉肚子總是不好解決,花了許多時間,等到舒緩之後,突然意會到怎麼火車還沒開,於是走回去原車廂時,驚!發現原本坐的那節車廂不見了!完全被shift()
掉了!
有付出一定有收穫,有 push ㄧ定有增加,但是要排隊喔~
介紹陣列方法的第一天,想先請大家看一下底下的這張圖,在上一篇,我們依 JavaScript 的更新版本與方法的功能來列出所有陣列方法(Array Methods)。
這張圖上的所有方法,皆是 Chrome 瀏覽器有支援的方法,如果擔心與其他瀏覽器的問題,可以到 Can I use 查閱,看看我們使用的功能是否和其他瀏覽器有相容性的問題。
知道怎麼做,但是如果有好工具會更得心應手。
JavaScript 一直在演化,也因此因不同時期推出的新方法好像是給我們補充能量,原本需要複雜的程序寫出來的函式,現在大多可用內建的方法處理 for 被放生了,不但直接且經過優化,以往使用For
迴圈來遍歷陣列,現在只要用內建方法就可以,簡單又好用。
如果有用 javascript 來操作處理 JSON 的經驗,會發現陣列方法實在是非常好用,無論是在陣列上的資料過濾、排序、儲存、組合都超級方便!我們可以想像一下,如果我們想要做出好看又好吃的甜點,是不是需要一些必須的工具,例如刮刀、擠花袋、打蛋器(電動的更好、量匙、電子秤等等,如果沒有這些,即使有上好的材料與器材如烤箱,要做甜點勢必困難重重,而這些陣列 Array 的方法正如這些工具,幫我們快速又精準的把甜點做出來。 寫著寫著就餓了
傻傻以為迴圈是唯一,那只是沙灘上的一塊小岩石。
回想剛開始學程式時,看到 While 迴圈可以透過 ASCII 碼,把英文數字從 a 到 Z 印出來,感到好驚訝!到底是怎麼辦到的?但是,經過了幾次無限迴圈的背叛後,才知道如果迴圈不給一個「範圍」,就會出大事。 電腦整個當掉要重開
記得小時候家裡小孩多,當時的台灣經濟正在起飛 馬上透露了世代,家庭代工正興起。記得媽媽總是會叫我們兄弟姐妹來幫忙 是滴,本人兄弟姐妹都有。 當時的手工產品是要寄往北方某個遙遠國度的聖誕節飾品,也就是要掛在樹上的小型禮物盒。媽媽先是叫我們排排坐,開始解說步驟,接著就開始這條要完成「一百個」小禮物的童工生產線: