從陣列中刪除專案

轉移

使用 .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]