js中splice方法

本文导读:js中splice表示从一个数组中移除一个或多个元素,它可以用于插入、删除或替换数组的元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。splice方法会改变原始数组。

一、splice语法

arrayObject.splice(start,deleteCount,item1,.....,itemX)

 

1、参数说明

start: 必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
 
deleteCount:必需。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
 
item1:可选。规定要添加到数组的新元素。从 index 所指的下标处开始插入。
itemX :可选。可向数组添加若干元素。
 

2、注意

1、参数为负数的问题,如果start为负数,则会加上数组的长度作为start的值,而deleteCount为负数或0的话不会执行删除操作。

2、用splice删除数组中的值会直接将某几项从数组中完全删除,会导致数组length值的改变,这与delete的删除置为undefined是不一样的。

3、splice 方法可以移除从start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新的Array 对象。

 

二、splice实例

1、

var lang = ["php","java","javascript"]; 
//删除 
var removed = lang.splice(1,1); 
alert(lang); //php,javascript 
alert(removed); //java ,返回删除的项 
//插入 
var insert = lang.splice(0,0,"asp"); //从第0个位置开始插入 
alert(insert); //返回空数组 
alert(lang); //asp,php,javascript 
//替换 
var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项 
alert(lang); //asp,c#,ruby,javascript 
alert(replace); //php,返回删除的项 
 
 
2、
 
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
//输出:

//George,John,Thomas,James,Adrew,Martin
//George,John,William,Thomas,James,Adrew,Martin

 

3、

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
//输出:
//George,John,Thomas,James,Adrew,Martin
//George,John,William,James,Adrew,Martin

 

4、

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)
//输出:
//George,John,Thomas,James,Adrew,Martin
//George,John,William,Martin
posted @ 2016-05-24 21:42  前端CG  阅读(2115)  评论(0编辑  收藏  举报