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],該怎麼做?
滿天的星座2017-05-16 13:45:43
樓上正解
a.splice(2,1); //从a数组中第3个元素(下标2)开始删除,删掉一个。 这时a数组会发生变化
a.splice(3,0,10); //从a数组中第4个(下标3)元素开始删除,删除0个, 并把10插入到这个元素之前。
splice() 方法向/從陣列中新增/刪除項目,然後傳回已刪除的項目。
註解:此方法會改變原始陣列。
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整數,規定新增/刪除項目的位置,使用負數可從陣列結尾規定位置。
howmany 必需。要刪除的項目數量。如果設定為 0,則不會刪除項目。
item1, ..., itemX 可選。向數組新增的新項目。
回傳值
Array 包含被刪除項目的新數組,如果有的話。
說明
splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數清單中宣告的一個或多個值來取代那些被刪除的元素。
如果從 arrayObject 中刪除了元素,則傳回的是含有已刪除的元素的陣列。
習慣沉默2017-05-16 13:45:43
開來樓主還不知道splice的強大。 splice(start,deleteCount,val1,val2,...):
從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,... 可以自行擴充Array的原型方法:
Array.prototype.insert = function (index, item) {
this.splice(index, 0, item);
};
這樣你就熟悉了