从数组中删除项目

转移

使用 .shift 删除数组的第一项。

例如:

var array = [1, 2, 3, 4];
array.shift();

数组结果:

[2, 3, 4]

流行的

进一步 .pop 用于从数组中删除最后一项。

例如:

var array = [1, 2, 3];
array.pop();

数组结果:

[1, 2]

两种方法都返回删除的项目;

拼接

使用 .splice() 从数组中删除一系列元素。.splice() 接受两个参数,起始索引和要删除的可选元素数。如果省略第二个参数,.splice() 将从起始索引到数组末尾删除所有元素。

例如:

var array = [1, 2, 3, 4];
array.splice(1, 2);

叶子 array 含有:

[1, 4]

array.splice() 的返回是一个包含已删除元素的新数组。对于上面的示例,返回将是:

[2, 3]

因此,省略第二个参数有效地将数组拆分为两个数组,原始结尾在指定索引之前:

var array = [1, 2, 3, 4];
array.splice(2);

…离开包含 [1, 2]array 并返回 [3, 4]

删除

使用 delete 从数组中删除项而不改变数组的长度:

var array = [1, 2, 3, 4, 5];
console.log(array.length); // 5
delete array[2];
console.log(array); // [1, 2, undefined, 4, 5]
console.log(array.length); // 5

Array.prototype.length

将值分配给数组的 length 会将长度更改为给定值。如果新值小于数组长度,则将从值的末尾删除项目。

array = [1, 2, 3, 4, 5];
array.length = 2;
console.log(array); // [1, 2]