JS中的splice方法
定義和用法
splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。
注釋:該方法會改變原始數組(集合)。
語法
arrayObject.splice(index,howmany,item1,.....,itemX)
index : 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
howmany :必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。
item1, ..., itemX: 可選。向數組添加的新項目。
話不多說,來看實例
例子1
在本例中我們將刪除位於 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 />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
</script>
輸出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin
例子2
在本例中我們將刪除從 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 />")
arr.splice(2,3,"William")
document.write(arr)
</script>
輸出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin
例子3
直接刪除某個list中的元素
for (var i = 0; i < state.list.length; i++) {
if (state.list[i].optionId === action.payload) {
state.list.splice(i, 1);
}
}
該例是在一個list中找出要刪除的元素,用.splice(i,1)刪除即可。