js 数组的splice

311 阅读1分钟

JavaScript splice( ) 方法于添加或删除数组中的元素。

1. 语法

array.splice(index,howmany,item1,.....,itemX)

2. 参数 Values

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

注意: 这种方法会改变原始数组。 如:

arr = ['a','b','c','d']

2.1 删除

删除 ----  item不设置

// 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变

arr.splice(1,1)   //['a','c','d']         
// 删除起始下标为1,长度为2的一个值,len设置的2

arr.splice(1,2)  //['a','d']          

2.2 替换

替换 ---- item为替换的值

// 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1

arr.splice(1,1,'ttt')        //['a','ttt','c','d']         
// 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1

arr.splice(1,2,'ttt')        //['a','ttt','d']         

2.3 添加

添加 ----  len设置为0,item为添加的值

// 表示在下标为1处添加一项‘ttt’看来还是splice最方便啦
arr.splice(1,0,'ttt')        //['a','ttt','b','c','d']         

3. delete

delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变

// 中间出现两个逗号,数组长度不变,有一项为undefined

delete arr[1]  //['a', ,'c','d']