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í)候就不會迷糊了(不要問我為什么這么說??)。
在網(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í)不會刪除任何元素。
示例一(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript 判斷用戶輸入的郵箱及手機(jī)格式是否正確
JavaScript判斷用戶輸入的郵箱格式是否正確、判斷用戶輸入的手機(jī)號格式是否正確,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-12-12
javascript模擬select,jselect的方法實(shí)現(xiàn)
由于主流瀏覽器對select元素渲染不同,所以在每種瀏覽器下顯示也不一樣,最主要的是默認(rèn)情況下UI太粗糙,即使通過css加以美化也不能達(dá)到很美觀的效果2012-11-11
javascript深拷貝的原理與實(shí)現(xiàn)方法分析
這篇文章主要介紹了javascript深拷貝的原理與實(shí)現(xiàn)方法,簡單分析了值傳遞和引用傳遞的原理與實(shí)現(xiàn)方法,并結(jié)合實(shí)例形式給出了深拷貝的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04
原生JavaScript實(shí)現(xiàn)頁面滾動(dòng)監(jiān)聽的方法步驟
滾動(dòng)監(jiān)聽事件一般網(wǎng)頁中的返回頂部按鈕都是通過滾動(dòng)監(jiān)聽事件來實(shí)現(xiàn)的,本文給大家介紹了原生JavaScript實(shí)現(xiàn)頁面滾動(dòng)監(jiān)聽的方法步驟,文中通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2025-03-03
用js一次改變多個(gè)input的readonly屬性值的方法
這篇文章主要介紹了用js一次改變多個(gè)input的readonly屬性值的方法,需要的朋友可以參考下2014-06-06
javascript 傳統(tǒng)事件模型構(gòu)造的事件監(jiān)聽器實(shí)現(xiàn)代碼
最近做東西需要添加大量的事件,而且要對所有事件進(jìn)行比較細(xì)致的控制,于是便試著寫了個(gè)事件監(jiān)聽器。2010-05-05
JavaScript獲取頁面中表單(form)數(shù)量的方法
這篇文章主要介紹了JavaScript獲取頁面中表單(form)數(shù)量的方法,涉及javascript操作表單document.forms數(shù)組的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04

