[JavaScript] slice()、splice()、split() 傻傻分不清

Peggy Chan
3 min readApr 26, 2017

--

在複習JavaScript時,常常會被很多相似的東西搞混啊!!!
特別是處理Array、String等等常用到的總是特別的難分辨

以下將介紹 slice()、splice()、split()

slice()

The slice() method returns a shallow copy of a portion of an array into a new array object selected from begin to end (end not included). The original array will not be modified.

複製開始與結束點(結束點不算)中的內容

對象:
可操控Array及String

arr.slice()
arr.slice(begin)
arr.slice(begin, end)

用法:
begin 為開始的索引值,負數代表從後面開始算起,-1為倒數第一個元素。
end 為結束的索引值,沒有填寫時則得到arr中的所有元素。

因為是做shallow copy,所以原值不改變。

splice()

The splice() method changes the contents of an array by removing existing elements and/or adding new elements.

從Array中添加/刪除項目,回傳被刪除的項目。

對象:
可操控Array

array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)

用法:
start 增加/刪除項目的位置,負數代表從後方算起。
deleteCount 刪除的個數,如為0則不會刪除。
item… 添加的新項目。

會改變原值

split()

The split() method splits a String object into an array of strings by separating the string into substrings.

分割字串成字串組

對象:
可操控String

stringObject.split(separator,howmany)

用法:
separator 字串符或正則表達式,從該參數指定的地方分割stringObject。
howmany 返回值的最大長度,超過該長度則不顯示。

不改變原值

以上是最近在複習JavaScript常用到也容易搞混的,藉由筆記加深印象,並整理出給有相同搞混煩惱的大家,祝大家JavaSctipt路順利😂

參考資料

  1. W3School JavaScript
  2. MDN Array
  3. MDN String

--

--