splice()函數詳解
splice() 方法向/從數組中添加/删除項目,然後傳回被删除的項目。
注釋:該方法會改變原始數組。
參數:
- index —— 必需。整數,規定添加/删除項目的位置,使用負數可從數組結尾處規定位置。
- howmany —— 必需。要删除的項目數量。如果設定為 0,則不會删除項目。
- item1, …, itemX —— 可選。向數組添加的新項目。
傳回值
- Array —— 包含被删除項目的新數組,如果有的話。
一、情況一(隻有一個參數)
splice(index) ——> 從index的位置開始,删除之後的所有元素(包括第index個)
若 index < 0 , 則删除最後-index個元素
splice()函數傳回删除元素數組
<script type="text/javascript">
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
array.splice(2)
document.write("array.splice(2)的結果為:",array)
</script>
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLmF2NhdjZkF2NwYTZwYzNhNmM0QzY3kDZ5QmZ1QmNzgzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
var result = array.splice(-3)
document.write("array.splice(-3)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
二、情況二 (兩個參數)
splice(index,howmany) ——> 删除從index位置開始的數,howmany為删除的個數
若 howmany 小于等于 0,則不删除
<script type="text/javascript">
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
var result = array.splice(2,1)
document.write("array.splice(2,1)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
</script>
var result = array.splice(2,0)
document.write("array.splice(2,0)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
三、情況三 (大于等于三個參數)
splice(index ,howmany , item1, …, itemX )
index >0 時
(1. howmany 為 0 時 不删除隻添加 —— 在index位置前添加item1, …, itemX的數
(2. howmany > 0 删除且添加 —— 在index位置前添加item1, …, itemX的數,并且删除從index位置開始的數,howmany為删除的個數
index <0 時 最後一個數為 -1 依次倒數第二個數為-2
(1. howmany 為 0 時 不删除隻添加 —— 在-index位置前添加item1, …, itemX的數
(2. howmany > 0 删除且添加 —— 在-index位置前添加item1, …, itemX的數,并且删除從-index位置開始的數,howmany為删除的個數
1.1
<script type="text/javascript">
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
var result = array.splice(2,0,8,9)
document.write("array.splice(2,0,8,9)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
</script>
1.2
var result = array.splice(5,3,8,9)
document.write("array.splice(2,0,8,9)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
2.1
<script type="text/javascript">
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
var result = array.splice(-2,0,8,9)
document.write("array.splice(-2,0,8,9)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
</script>
2.2
<script type="text/javascript">
var array = [0,1,2,3,4,5,6]
document.write("原數組為:"+array + "<br />")
var result = array.splice(-2,3,8,9)
document.write("array.splice(-2,3,8,9)的結果為:",array + "<br />")
document.write("删除的内容為:",result)
</script>
參考:
https://www.w3school.com.cn/jsref/jsref_splice.asp