首页 » 学习JavaScript数据结构与算法(第2版) » 学习JavaScript数据结构与算法(第2版)全文在线阅读

《学习JavaScript数据结构与算法(第2版)》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。