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() | 1 | 1 | 是 | 是 | 5.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);测试看看‹/›