JavaScript splice()

admin發表於2018-08-29

理解方法的功能與掌握其用法,名稱是比較好的切入點。

splice翻譯成漢語具有"剪接"意思,恰如其名,此方法對陣列具有"剪接"功能。

具體的剪接操作,後面會通過程式碼例項詳細進行介紹,

更多關於陣列內容可以參閱JavaScript Array 陣列一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
arr.splice(start,num,element1,.....,elementN)

引數解析:

(1).start:必需,規定從何處刪除或者替換陣列元素。

(2).num:可選,規定要刪除陣列元素的數量。

(3).elementN:可選,規定從start位置要插入的新元素。

特別說明:

(1).此陣列直接操作原來陣列。

(2).返回值是被刪除陣列元素組成的新陣列。

看了上面的理論闡述,相信很多閱讀者還無法理解此方法的具體作用,當年筆者也是如此。

再回到文章的開頭,splice既然是具有"剪接"的意思,那麼可以將其操作理解為剪和接兩部分。

如果只剪,而沒有接上內容,那麼就是刪除陣列元素;如果剪去的同時,又接上內容,可以認為是替換陣列元素。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=["螞蟻部落",6,"青島市南區","奮鬥"];
console.log(arr.splice(1,2));
console.log(arr);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/015100af9ree9qbbbssb11.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

方法有兩個引數,也就是說僅規定了"剪",而沒有"接"上任何內容。

那麼從效果上來看就是從指定位置刪除指定長度的陣列元素。

方法的返回值是由被刪除元素構成的新陣列。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=["螞蟻部落",6,"青島市南區","奮鬥"];
console.log(arr.splice(1));
console.log(arr);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/015139uerm25v32xrkr9l2.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果省略第二個引數,那麼就是"剪"掉從start位置開始以後的所有元素。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=["螞蟻部落",6,"青島市南區","奮鬥"];
console.log(arr.splice(1,2,"js教程","CSS教程","前端教程"));
console.log(arr);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/29/015214fi0v66n1shg0eno5.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面的程式碼不但進行"剪"了,也是用指定的元素進行"接"。

相關文章