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 - webpack 報錯 新人 求解2. windows-7 - Wamp集成環境Apache無法啟動3. node.js - 跑antd的的模板例子!想修改端口,怎么修改呢!!(里面好像用了什么dora插件!!!)4. angular.js - angular做點擊購買時的遮罩層5. nginx 80端口反向代理多個域名,怎樣隱藏端口的?6. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)7. angular.js - 關于ng-model和ng-bind的疑問8. 有大佬知道這種接口文件怎么使用嗎?9. 希望講講異常處理10. 求一個PHP編程碼、。
