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. mysql - linux連接數據庫報錯2. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?3. python - flask報錯ValueError: invalid key ’nicknickname’4. angular.js - 學習ui-router遇到的問題5. MYSQL 根據兩個字段值查詢 但兩個值的位置可能是互換的,這個怎么查?6. php - MySQL數據庫設計,獲取點贊的人數7. css - 如何選擇字體?8. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?9. MySQL中的enum類型有什么優點?10. java - 線上應用,如果數據庫操作失敗的話應該如何處理?
