从数组中添加和删除元素也很容易,但有时也会很棘手。假如我们有一个数组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。