分辨 Slice()、Split()、Splice()


Posted by hoyi-23 on 2021-08-01

這三個用法真的超級常讓我搞混的!!!

Slice() 切一片(段)下來

Slice 像是擷取一樣,透過slice你可以擷取陣列或字串中的一段,並將那一段複製起來放到新的陣列或字串。

  1. 擷取需要的東西
  2. 產生新陣列或字串(淺拷貝)
  3. 不會更動原本的陣列或字串
  4. 不一定要有untilIndex,如果沒有就是到最後
slice(fromIndex, untilIndex);

//他會擷取到指定的索引前,也就是若我的untilIndex是3,他不會擷取到索引3的呦!

Splice() 拼接

Splice()的作用是,可以將東西刪除再拼東西上去。

  1. 直接更動原本的陣列
  2. 只能在陣列使用

刪除東西

splice(fromIndex, remove number of elements)

splice(2) = 代表從索引2開始的東西都被刪除。(索引2也會被刪)
splice(2,1) = 代表從索引2開始,刪除一項東西。(也就是刪除索引2)
splice(2,3) = 代表從索引2開始,刪除三項東西。(也就是刪除索引2)

拼東西上去

splice(fromIndex, remove number of elements, element, element)

splice(2,1,'a','b') = 代表從索引2開始,刪除一項東西,再拼上後面的東西('a','b')。


Split() 分裂

Split()會將一個字串,依照指定方式分裂成多個小字串,再將其餘集結成一個陣列回傳。

  1. 只能在字串使用(雖然不能直接使用在陣列上,但是我們可以先把陣列轉為字串(toString)再使用。)
  2. 回傳的東西要賦予到新的變數上
  3. 不會更改原本的字串
string.split(separator, limit);
//第一個是指定要怎麼分裂
//第二個是指定要分裂到哪裡

範例:

const str1 = "1,2,3,4,5,6,7"
const str2 = "hello,world"

str1.split(',',3); //return ['1','2','3']
//指定要把有','的地方都分裂開來,並分裂到第三個,然後組成一個陣列回傳。

str2.split('',5); //return ['h','e','l','l','o']
//如果是 '' 表示就是把每個字元都分裂開來

#slice #splice #split







Related Posts

Go 起手式之二

Go 起手式之二

【Day00】 從零開始的新手練等生活

【Day00】 從零開始的新手練等生活

JavaScript 核心觀念 - 屬性特徵是什麼?

JavaScript 核心觀念 - 屬性特徵是什麼?


Comments