讀古今文學網 > 學習JavaScript數據結構與算法(第2版) > 2.3 添加元素 >

2.3 添加元素

從數組中添加和刪除元素也很容易,但有時也會很棘手。假如我們有一個數組numbers,初始化成0到9:

var numbers = [0,1,2,3,4,5,6,7,8,9];

  

如果想要給數組添加一個元素(比如10),只要把值賦給數組中最後一個空位上的元素即可。

numbers[numbers.length] = 10;

  

 在JavaScript中,數組是一個可以修改的對象。如果添加元素,它就會動態增長。在C和Java等其他語言裡,我們要決定數組的大小,想添加元素就要創建一個全新的數組,不能簡單地往其中添加所需的元素。

2.3.1 使用push方法

另外,還有一個push方法,能把元素添加到數組的末尾。通過push方法,能添加任意個元素:

numbers.push(11);
numbers.push(12, 13);

  

如果輸出numbers的話,就會看到從0到13的值。

2.3.2 插入元素到數組首位

現在,我們希望在數組中插入一個值,不像之前那樣插入到最後,而是放到數組的首位。為了實現這個需求,首先我們要騰出數組裡第一個元素的位置,把所有的元素向右移動一位。我們可以循環數組中的元素,從最後一位+1(長度)開始,將其對應的前一個元素的值賦給它,依次處理,最後把我們想要的值賦給第一個位置(-1)上。

for (var i=numbers.length; i>=0; i--){
  numbers[i] = numbers[i-1];
}
numbers[0] = -1;

  

下面這張圖描述了我們剛才的操作過程:

使用unshift方法

在JavaScript裡,數組有一個方法叫unshift,可以直接把數值插入數組的首位:

numbers.unshift(-2);
numbers.unshift(-4, -3);

  

那麼,用unshift方法,我們就可以在數組的開始處添加值-2,然後添加-3-4等。這樣數組就會輸出數字-4到13。