搜尋

首頁  >  問答  >  主體

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 ]
  1. 如果希望刪除a[2]後得到新的列表為[1,2,4,5,6,7],應該怎麼做?

  2. 如果希望在第3個位置後插入資料10,得到[1,2,3,10,4,5,6],該怎麼做?

某草草某草草2740 天前596

全部回覆(4)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:45:43

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:45:43

    雷雷

    回覆
    0
  • 滿天的星座

    滿天的星座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用法

    splice() 方法向/從陣列中新增/刪除項目,然後傳回已刪除的項目。
    註解:此方法會改變原始陣列。

    文法

    arrayObject.splice(index,howmany,item1,.....,itemX)
    • index 必需。整數,規定新增/刪除項目的位置,使用負數可從陣列結尾規定位置。

    • howmany 必需。要刪除的項目數量。如果設定為 0,則不會刪除項目。

    • item1, ..., itemX 可選。向數組新增的新項目。

    回傳值
    Array 包含被刪除項目的新數組,如果有的話。

    說明
    splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數清單中宣告的一個或多個值來取代那些被刪除的元素。
    如果從 arrayObject 中刪除了元素,則傳回的是含有已刪除的元素的陣列。

    回覆
    0
  • 習慣沉默

    習慣沉默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);  
    };

    這樣你就熟悉了

    回覆
    0
  • 取消回覆