javascript - nodejs的列表不能往中間插入數據嗎?
問題描述
Python中的列表可以在中間位置插入數據:
>>> 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函數,刪除中間的元素也不徹底,
> 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],應該怎么做?
如果希望在第3個位置后插入數據10,得到[1,2,3,10,4,5,6],應該怎么做?
問題解答
回答1:

a.splice(2,1);a.splice(3,0,10);回答3:
樓上正解
a.splice(2,1); //從a數組中第3個元素(下標2)開始刪除,刪掉一個。 這時a數組會發生變化a.splice(3,0,10); //從a數組中第4個(下標3)元素開始刪除,刪除0個, 并把10插入到這個元素之前。附splice用法
splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。注釋:該方法會改變原始數組。
語法arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
howmany 必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。
item1, ..., itemX 可選。向數組添加的新項目。
返回值Array 包含被刪除項目的新數組,如果有的話。
說明splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。
回答4:開來樓主還不知道splice的強大。splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,并從該位置起插入val1,val2,... 可以自己擴展Array的原型方法:
Array.prototype.insert = function (index, item) { this.splice(index, 0, item); };
這樣你就熟悉了
相關文章:
1. javascript - immutable配合react提升性能?2. javascript - sublime快鍵鍵問題3. Apache 已經把網站根目錄的改為allow from all了,但是服務器還是不能訪問?4. vue.js - Vue 如何像Angular.js watch 一樣監聽數據變化5. css - 寫頁面遇到個布局問題,求大佬們幫解答,在線等,急!~6. javascript - nodejs關于進程間發送句柄的一點疑問7. 配置Apache時,添加對PHP的支持時語法錯誤8. 實現bing搜索工具urlAPI提交9. phpstudy8.1支持win11系統嗎?10. javascript - 移動端上不能實現拖拽布局嗎?

網公網安備