JS中splice添加或刪除數(shù)組元素
語法
array.splice(index,howmany,item1,…,itemX)
參數(shù)說明
| 參數(shù) | 描述 |
|---|---|
| index | 必需。規(guī)定從何處添加/刪除元素。 該參數(shù)是開始插入和(或)刪除的數(shù)組元素的下標(biāo),必須是數(shù)字。 |
| howmany | 可選。規(guī)定應(yīng)該刪除多少元素。必須是數(shù)字,但可以是 “0”。 如果未規(guī)定此參數(shù),則刪除從 index 開始到原數(shù)組結(jié)尾的所有元素。 |
| item1,…,itemX | 可選。要添加到數(shù)組的新元素 |
返回值說明
| Type | 描述 |
|---|---|
| Array | 如果從arrayObject中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。 |
下標(biāo)問題
第一個(gè)參數(shù)index是數(shù)組的下標(biāo),因?yàn)閕ndex是整數(shù),整數(shù)包括正數(shù)、負(fù)數(shù)和0,所以就需要理解清楚正數(shù)的時(shí)候下標(biāo)是怎么排的,負(fù)數(shù)的時(shí)候下標(biāo)是怎么排的,這樣寫代碼的時(shí)候就不會(huì)迷糊了(不要問我為什么這么說??)。
在網(wǎng)上沒有找到相關(guān)資料說明splice的下標(biāo)是怎么搞得,沒辦法那就只能自己研究了,功夫不負(fù)有心人,經(jīng)過一番努力終于搞明白了??。
下標(biāo)排序方式如下:

實(shí)戰(zhàn)
splice(index)
從index的位置開始,刪除之后的所有元素(包括第index個(gè))
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(1);
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相

splice(index,howmany)
刪除從index位置開始的數(shù),howmany為刪除的個(gè)數(shù),當(dāng)howmany≤0時(shí)不會(huì)刪除任何元素。
示例一(howmany>0)
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(1, 2);
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相:

示例二(howmany ≤ 0)
howmany≤0就是不刪除howmany≤0就是不刪除howmany≤0就是不刪除
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(1, 0);
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)

splice(index,howmany,item1,…,itemX)
howmany ≤ 0
howmany≤0就是不刪除howmany≤0就是不刪除howmany≤0就是不刪除在index位置按順序依次添加item1,…,itemX
示例一(index ≥ 0)
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(1, 0, 'Grape', 'Pear');
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相

示例二(index<0)
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(-1, 0, 'Grape', 'Pear');
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相

howmany>0
先從index位置(包含index)開始刪除howmany個(gè)元素,然后在index位置按順序依次添加item1,…,itemX
示例一(index ≥ 0)
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(1, 1, 'Grape', 'Pear');
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相(藍(lán)框標(biāo)出的是添加的元素,橙框標(biāo)出的是刪除的元素)

示例二(index<0)
let array = ['Banana', 'Orange', 'Apple', 'Mango']
console.log('原數(shù)組:', array)
let splice = array.splice(-2, 2, 'Grape', 'Pear');
console.log('操作后數(shù)組:', array)
console.log('變動(dòng)內(nèi)容', splice)
有圖有真相(藍(lán)框標(biāo)出的是添加的元素,橙框標(biāo)出的是刪除的元素)

到此這篇關(guān)于JS中splice添加或刪除數(shù)組元素的文章就介紹到這了,更多相關(guān)JS splice添加刪除數(shù)組元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用javascrpt將指定網(wǎng)頁保存為Excel的代碼
這段代碼在服務(wù)器中沒有權(quán)限,可以保存在本地,存為htm文件,運(yùn)行即可,就可以把文本內(nèi)容存為excel文件了2008-01-01
js實(shí)現(xiàn)的訂閱發(fā)布者模式簡(jiǎn)單示例
這篇文章主要介紹了js實(shí)現(xiàn)的訂閱發(fā)布者模式,結(jié)合完整示例形式分析了js訂閱發(fā)布者模式相關(guān)實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2020-03-03
一個(gè)類似vbscript的round函數(shù)的javascript函數(shù)
同vbscript的Round函數(shù)功能相同,四舍五入保留指定小數(shù)位數(shù)2009-04-04
JS實(shí)現(xiàn)類似51job上的地區(qū)選擇效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)類似51job上的地區(qū)選擇效果,結(jié)合完整實(shí)例形式分析了javascript基于鼠標(biāo)事件響應(yīng)實(shí)現(xiàn)頁面元素動(dòng)態(tài)變換的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11
javascript中的replace函數(shù)(帶注釋demo)
在js中有兩個(gè)replace函數(shù) 一個(gè)是location.replace(url) 跳轉(zhuǎn)到一個(gè)新的url.一個(gè)string.replace("xx","yy") 替換字符串 返回一個(gè)新的字符串,該方法并不改變字符串本身。下面通過本文給大家介紹javascript中的replace函數(shù)2018-01-01
JavaScript實(shí)現(xiàn)網(wǎng)頁跨年倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁跨年倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12

