JavaScript拥有一组可变函数,使用它们,可以不必引用数组中的某个元素,就能改变数组内容。
push()方法会将一个元素或多个元素添加到数组末尾。
例子:
1 | var nums = [1,2,3,4,5]; |
unshift()方法可以将一个或多个元素添加在数组的开头
例子:
1 | var nums = [2,3,4,5]; |
由于在数组开头添加元素比在数组结尾添加元素更难,如果不使用数组提供的可变函数unshift()的话,当新的元素添加进来的时候,我们需要将数组后面的每一个元素都相应地向后移动一个位置。下面是不用unshift()方法实现的一个例子:
1 | var nums = [2,3,4,5]; |
注意:如果不用unshift()的方法,而用上面写的代码的话,会随着数组中存储的元素越来越多而使得代码变得越来越低效。
pop()方法可以删除数组末尾的元素。
1 | var nums = [1,2,3,4,5,9]; |
如果没有可变函数pop()的话,从数组中删除一个元素将后续元素各自向前移动一个位置,代码如下:
1 | var nums = [9,1,2,3,4,5]; |
注意:除了要将后续元素前移一位,还多出了一个元素。
shift()方法可以删除数组的第一个元素
1 | var num = [9,1,2,3,4,5]; |
此时你会发现数组末尾多余的逗号消失了
splice(index,howmany,item1, …, itemX)
index: 起始索引(也就是你希望开始添加元素的地方);
howmany: 需要删除的元素个数(添加元素时该参数设为0);
item1, …, itemX: 想要添加进数组的元素;
在数组中间插入元素,代码如下:
1 | var nums = [1,2,3,7,8,9]; |
注意:要插入数组的元素不必组织成一个数组,它可以是任意的元素序列。比如:
1 | var nums = [1,2,3,7,8,9]; |
比如我想用splice()方法来从数组中删除元素,代码如下:
1 | var nums = [1,2,3,100,200,300,400,4,5]; |