JavaScript操作数组的方法总结(第二篇:数组的添加和删除)

数组的添加和删除

同样是我们上一篇定义的num数组

let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

这时,如果我们想在数组的末尾添加一个元素;一个简单粗暴的方法:直接把插入的值赋给数组的最后的位置上即可:

num[num.length] = 10;

虽然可以实现,但是不提倡这种做法,首先使用这种方法添加元素必须考虑和了解数组的长度才能添加,而且每次只能添加一个元素,其次在JavaScript中,数组是一个可修改的对象,如果给它添加元素,它就会随着添加的元素动态增长。但是在C,C++,java等其他语言中,要决定数组的大小,如果想添加元素就要创建一个全新的数组,并不能像JavaScript中一样直接往数组添加元素。

下面分别会介绍几种对数组添加和删除的方法:

push方法:push方法是将添加到数组的末尾。

num.push(11);//添加元素11
num.push(12,13,14);//添加元素12,13,14

通过push方法,我们可以添加任意个元素,并不用去考虑数组的长度,直接可以在使用点push即可。`
push方法也是我们最常用的一个方法。

unshift方法:在数组开头插入元素。

num.unshift(-1);//在数组开头插入-1
num.unshift(-2,-3);//在数组开头插入-2,-3

既然是要在数组开头插入元素,原生的方式也是可以的,实现的逻辑是这样:
1、腾出第一个元素的位置,即把所有的元素都往后移动一位;
2、循环数组,从最后一位开始,将前一个元素(key)赋值给下一个元素(key - 1);
3、将值(value)添加到第一个位置;
4、还可以将以上的逻辑实现定义在一个方法里面,将该方法添加到Array原型上,让所有数组实例都能访问到该方法;

Array.prototype.inserValueFirestPosition = function(value){
	for(let key = this.length; key >= 0; key--){
		this[key] = this[key - 1];
	}
	this[0] = value;
};//this->数组实例
num.inserValueFirestPosition(-4);//this->num

其实unshift方法原码的实现逻辑和上面的实现逻辑是一样的。

shift方法:删除数组的第一个元素。

num.shift();//删除数组的第一个元素

pop:删除数组最后一位元素。

num.pop();//删除数组的最后一个元素

你可能感兴趣的:(数组篇,javascript,数组)