slice() 與 splice() 聰明分得清楚

簡介:slice() 是什麼?splice() 又是什麼?大家記不記得,以前背英文單字,老師很愛把很像的字一次列出來整理成一張表,然後跟你說這些字很像不要搞混了要背好,或是學到一個單字就跟你補充有另一個很像的字考試很愛考,例如 desert(沙漠)與 dessert(甜點)、compliment(讚美)與 complement(補充)等等族繁不及備載,以前的我覺得老師把這些東西整理好很貼心,而我記憶力也不錯,所以一直覺得這樣做沒啥毛病,但後來漸漸領悟出一個心得,其實有更好的做法,至少是比較適合我的作法,就是這些很像的東西不要一起學,反而應該在不同時期、不同情境下學習,之後再把這些東西做個統整複習,自然不會搞混。舉個例子,當初高中時我是用發音去記 desert 與 dessert 差異,因為 desert 的「de」與 death 很像,而沙漠很危險容易跟死亡聯想在一起,所以考聽力就容易分辨,但如果小明去沙漠旅行一個月,事前查資料或在當地一直用到 desert 這個字,我相信在那之後小明不需要特別去記 desert 與 dessert 怎麼區分因為已經對 desert 太熟了。當然,在升學主義下老師這種做法或許更有效率,而當可以跳脫這種方式時,就可以思考其他更好或更適合自己的學習方法。

因此當學習 coding 時,有些很像的東西我倒覺得不必硬記,可以透過刻意練習來加深印象,例如,當遇到 slice 與 splice 這兩個很像的字,我就去查了一下牛津字典:

slice:slice something (up) to cut something into slices

slice:a thin flat piece of bread, meat, cheese, etc. that has been cut off a larger piece; a piece of cake that has been cut from a larger cake

所以意思是把東西切成薄片

那 splice 呢?

splice:splice something (together) to join the ends of two pieces of rope by twisting them together; splice something (together) to join the ends of two pieces of film, tape, etc. by sticking them together

意思是把兩個東西接起來

那接下來怎麼辦?很簡單,從兩個選一個你熟的先去刻意練習使用,slice 這個字應該相對常見,所以可以快速看一下這篇了解兩者差異,接著刻意練習 slice(),如此一來,以後遇到 slice() 就可以很快反應「啊是我練習的那個」,如果碰到 splice() 就知道「啊跟 slice() 不一樣,來查查看 splice() 怎麼用好了」,於是腦海中就會把使用 slice() 與 splice() 的情境分開了,以後比較不怕搞混。如果你是屬於不怕搞混東西的人,那當然一次學起來比較快。

所以 slice() 是什麼?splice() 又是什麼?

JavaScript 中 slice() 和 splice() 方法都是用來操作陣列的,但二者的用法和功能不太一樣。slice() 就是擷取一些元素出來,而 splice() 則是剔除或新增某些元素。

以下說明中的第幾個都是以陣列 index 來看,例如陣列左邊第一個東西是第 0 個元素

繼續閱讀 | 回到目錄

第 4 章 子程序与函数
将您的 WMV 转换成 MP4