JavaScript 数组 splice() 方法

 JavaScript 数组对象

splice()方法通过删除现有元素或添加新元素来更改数组。

如果您指定要插入的元素数与要删除的元素数不同,则数组的长度也将不同。

注意: splice()方法会更改原始数组。

语法:

array.splice(start, deleteCount, [item1, item2, ...])
var months = ['Jan', 'Mar', 'Apr', 'Jun'];
months.splice(1, 0, 'Feb');// adding 'Feb' at index 1
测试看看‹/›

浏览器兼容性

表中的数字指定了完全支持splice()方法的第一个浏览器版本:

Method
splice()115.5

参数值

参数描述
start开始在数组中添加/删除元素的索引。使用负值指定从数组末尾开始的位置。
deleteCount(可选)要删除的元素数。如果设置为0,则不会删除任何元素
item1, item2, ...(可选)要添加到数组中的元素,从起始索引start。如果不指定任何元素,则splice()只会从数组中删除元素。

技术细节

返回值:包含已删除元素的数组(如果有)
JavaScript版本:ECMAScript 1

更多实例

在第4个索引处替换1个元素:

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun'];
months.splice(4, 1, 'May');   // replace 'Jun' with 'May' at index 4
测试看看‹/›

从索引3中删除1个元素:

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun'];
months.splice(3, 1);
测试看看‹/›

从索引2中删除2个元素:

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun'];
months.splice(2, 2);
测试看看‹/›

从索引0中删除2个元素,并插入4个值:

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun'];
months.splice(0, 2, 'A', 'B', 'C', 'D');
测试看看‹/›

splice()方法返回一个包含已删除元素的数组:

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun'];
var arr = months.splice(2, 2);
测试看看‹/›

 JavaScript 数组对象