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個(gè)位置后插入數(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個(gè)元素(下標(biāo)2)開始刪除,刪掉一個(gè)。 這時(shí)a數(shù)組會(huì)發(fā)生變化a.splice(3,0,10); //從a數(shù)組中第4個(gè)(下標(biāo)3)元素開始刪除,刪除0個(gè), 并把10插入到這個(gè)元素之前。附splice用法
splice() 方法向/從數(shù)組中添加/刪除項(xiàng)目,然后返回被刪除的項(xiàng)目。注釋:該方法會(huì)改變?cè)紨?shù)組。
語法arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。
item1, ..., itemX 可選。向數(shù)組添加的新項(xiàng)目。
返回值Array 包含被刪除項(xiàng)目的新數(shù)組,如果有的話。
說明splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。
回答4:開來樓主還不知道splice的強(qiáng)大。splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項(xiàng),并從該位置起插入val1,val2,... 可以自己擴(kuò)展Array的原型方法:
Array.prototype.insert = function (index, item) { this.splice(index, 0, item); };
這樣你就熟悉了
相關(guān)文章:
1. php - 淘寶訂單拆單表設(shè)計(jì)2. 實(shí)現(xiàn)bing搜索工具urlAPI提交3. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器4. mysql優(yōu)化 - MySQL如何為配置表建立索引?5. 冒昧問一下,我這php代碼哪里出錯(cuò)了???6. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)7. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問題8. 數(shù)據(jù)庫 - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。9. 我在網(wǎng)址中輸入localhost/abc.php顯示的是not found是為什么呢?10. windows誤人子弟啊
