以前经常写javascript代码。很久没写了,突然一下忘记了一些常用的原型函数,在我的印象中
Array这个类是经常用到的。最熟悉的方法莫过于push()了,下面将演示一下splice()方法的含义和使用示例。

从W3C文档中描述出来的含义是:

描述:

splice()函数用于从当前数组中移除一部分连续的元素。如有必要,还可以在所移除元素的位置上插入一个或多个新的元素。该函数以数组形式返回从当前数组中被移除的元素。

语法:

array.splice( start, deleteCount [,items... ] )

参数:

  • start Number类型数组中移除元素操作的起点索引,从0开始。
  • deleteCount Number类型需要移除的元素个数。
  • items 可选参数/任意类型要添加到数组中元素被移除位置的新元素,可以有多个。

返回值:

splice()函数的返回值为Array类型,返回从当前数组中被移除的元素所组成的新的数组。
当移除数组中的元素时,数组的length属性也会随之改变。一般而言,数组的length属性将会减N(N为实际移除的元素个数)

示例:

  //1、首先定义一个数组
var array = ["it1", 'it2', "it3", 2, "it5", 'peach', false];
//2、移除数组中第2,3个元素
var reArr=array.splice(1,2);//返回['it2','it3']
//3、前面一步被删除2个元素了。那么我们再刚才的位置上新插入3个元素
reArr =array.splice(1,0,'newit2','newit3');
//返回[]因为第2个参数为0 表示删除0个元素。差不多就是插入的意思吧
//打印一下array现在的元素到底变为什么样子了。
console.info(array);
//输出["it1", 'newit2', "newit3", 2, "it5", 'peach', false];
//此时array的2-3个元素已经又变为newit2,newit3
//4、删除数组中2,3个元素,并插入newit2-1,newit3-1
reArr =array.splice(1,2,'newit2-1','newit3-1');
console.info(array);
//输出["it1", 'newit2', "newit3-1", 2, "it5", 'peach', false];

需要注意的是:

  • splice()函数一直从索引start开始,移除deleteCount个元素,直到数组的结尾。
  • 如果start为负,则将其视为length + start,此处length为数组的长度。
  • 如果deleteCount为0或负数,则不会移除任何元素,并返回一个空数组。
  • 如果start >= length,则不会移除任何元素,返回一个空数组。
  • 如果参数items为数组类型(Array),仍会被当作一个元素看待,插入到当前数组中。

经常使用的时候差不多就是这样子了。