javascript - nodejs的列表不能往中間插入數(shù)據(jù)嗎?
問題描述
Python中的列表可以在中間位置插入數(shù)據(jù):
>>> a = [1, 2, 3, 4, 5, 6, 7]>>> a[1, 2, 3, 4, 5, 6, 7]>>> a.insert(3,10)>>> a[1, 2, 3, 10, 4, 5, 6, 7]
但是nodejs中好像沒有insert函數(shù),刪除中間的元素也不徹底,
> a= [1, 2, 3, 4, 5, 6][ 1, 2, 3, 4, 5, 6 ]> delete a[2]true> a[ 1, 2, , 4, 5, 6 ]
如果希望刪除a[2]后得到新的列表為[1,2,4,5,6,7],應(yīng)該怎么做?
如果希望在第3個位置后插入數(shù)據(jù)10,得到[1,2,3,10,4,5,6],應(yīng)該怎么做?
問題解答
回答1:a.splice(2,1);a.splice(3,0,10);回答3:
樓上正解
a.splice(2,1); //從a數(shù)組中第3個元素(下標2)開始刪除,刪掉一個。 這時a數(shù)組會發(fā)生變化a.splice(3,0,10); //從a數(shù)組中第4個(下標3)元素開始刪除,刪除0個, 并把10插入到這個元素之前。附splice用法
splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。注釋:該方法會改變原始數(shù)組。
語法arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。
item1, ..., itemX 可選。向數(shù)組添加的新項目。
返回值Array 包含被刪除項目的新數(shù)組,如果有的話。
說明splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數(shù)列表中聲明的一個或多個值來替換那些被刪除的元素。如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。
回答4:開來樓主還不知道splice的強大。splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,并從該位置起插入val1,val2,... 可以自己擴展Array的原型方法:
Array.prototype.insert = function (index, item) { this.splice(index, 0, item); };
這樣你就熟悉了
相關(guān)文章:
1. 數(shù)組按鍵值封裝!2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題3. java - 阿里的開發(fā)手冊中為什么禁用map來作為查詢的接受類?4. docker不顯示端口映射呢?5. javascript - webpack中alias配置中的“@”是什么意思?6. 主題切換問題,用過別人的webapp在后臺切換模板主題后手機端打開網(wǎng)頁就是切換到的主題了7. python - flask _sqlalchemy 能否用中文作為索引條件8. javascript - 為什么創(chuàng)建多行多列的表格最后只有一行內(nèi)有表格9. javascript - ES6規(guī)范下 repeat 函數(shù)報錯 Invalid count value10. html5 - 使用echarts中的圖表 一個頁面導(dǎo)入了好幾個js圖表 實現(xiàn)echarts圖表隨著瀏覽器窗口變化而變化時出現(xiàn)了問題
