數組方法 splice()與slice()的區別

slice()

slice() 方法可從已有的數組中返回選定的元素。javascript

語法

arrayObject.slice(start,end)
參數 描述
start 必需。規定從何處開始選取。若是是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。
end 可選。規定從何處結束選取。該參數是數組片段結束處的數組下標。若是沒有指定該參數,那麼切分的數組包含從 start 到數組結束的全部元素。若是這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。

返回值

返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。java

說明

請注意,該方法並不會修改數組,而是返回一個子數組。若是想刪除數組中的一段元素,應該使用方法 Array.splice()。數組

提示和註釋

註釋:您可以使用負值從數組的尾部選取元素。瀏覽器

註釋:若是 end 未被規定,那麼 slice() 方法會選取從 start 到數組結尾的全部元素。spa

列子

在本例中,咱們將建立一個新數組,而後顯示從其中選取的元素:code

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write( + "<br />")
document.write(arr)

</script>arr.slice(1)

輸出:ip

George,John,Thomas
John,Thomas
George,John,Thomas

 

splice()

定義和用法

splice() 方法向/從數組中添加/刪除項目,而後返回被刪除的項目。it

註釋:該方法會改變原始數組。table

語法

arrayObject.splice(index,howmany,item1,.....,itemX)
參數 描述
index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
howmany 必需。要刪除的項目數量。若是設置爲 0,則不會刪除項目。
item1, ..., itemX 可選。向數組添加的新項目。

返回值

類型 描述
Array 包含被刪除項目的新數組,若是有的話。

說明

splice() 方法可刪除從 index 處開始的零個或多個元素,而且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。語法

若是從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。

技術細節

JavaScript 版本: 1.2

瀏覽器支持

全部主流瀏覽器都支持 splice() 方法。

提示和註釋

註釋:請注意,splice() 方法與 slice() 方法的做用是不一樣的,splice() 方法會直接對數組進行修改。

 

 

實列

在本例中,咱們將建立一個新數組,並向其添加一個元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")

document.write(arr + "<br />")

</script>arr.splice(2,0,"William")

輸出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子 2

在本例中咱們將刪除位於 index 2 的元素,並添加一個新元素來替代被刪除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")

document.write(arr)

</script>arr.splice(2,1,"William")

輸出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子 3

在本例中咱們將刪除從 index 2 ("Thomas") 開始的三個元素,並添加一個新元素 ("William") 來替代被刪除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")

document.write(arr)

</script>arr.splice(2,3,"William")

輸出:

George,John,Thomas,James,Adrew,MartinGeorge,John,William,Martin
相關文章
相關標籤/搜索