js数组添加元素

JavaScript中给数组中添加元素有三种方法。

1、unshift方法 – 添加元素到数组的头部

const arr = [1, 2]
arr.unshift(0) 
console.log(arr) // [0, 1, 2]

2、push方法 – 添加元素到数组的尾部

const arr = [1, 2]
arr.push(3)
console.log(arr) // [1, 2, 3]

3、splice方法 – 添加元素到数组的任意位置

const arr = [1, 2]
arr.splice(1, 0, 3)
console.log(arr) // [1, 3, 2]

arr.splice(1, 0, 3)这个代码可能有些难以理解,很多人对splice方法传入两个以上的参数这种用法比较陌生。

我们熟悉的是splice用于删除的操作:

const arr = [1, 2, 3]
arr.splice(1, 1)
console.log(arr) // [1, 3]

第一个入参1是起始的索引值,第二个入参表示从起始索引开始需要删除的元素个数。arr.splice(1, 1)这个代码,我们指明从索引为1的元素(也就是2)开始,删掉1个元素,也就是把arr[1]给删了,所以arr变成了[1, 3]

传入两个以上参数这种用法,是用于在删除的同时完成数组元素的新增。从第三个位置开始的入参,表示要添加到数组中的元素。

arr.splice(1, 0, 3)这个例子中,我们指明了从arr[1]开始,删掉0个元素(也就是不删),并在索引为1的位置新增值为3的元素。

const arr = [1, 2]
arr.splice(1, 0, 3)
console.log(arr) // [1, 3, 2]

因为起始索引是1,且删掉的元素0个,所以2并不会被删掉,而是保留了下来。

从索引1处新增一个元素3,那么这个3就会把原来的arr[1]这个地方的元素2挤到后面去。

这个方法还是挺强大的,利用它,我们可以做到在数组的任意位置进行元素的新增。