splice()
格式: arr.splice(从什么位置开始,删除多少个元素,要插入的元素);
这个方法可以从指定的位置删除给定数量的元素,并且在这个位置插入需要的元素 ,并且 返回被删除的元素组成的新数组。
1、没有任何参数时,返回一个空数组 。解释: 第一个参数是0,表示从第0位开始,第二个参数删除多少个没有填,意味着删除到尾部
var arr1=arr.splice();
2、参数为0时,将所有数据转移到新数组
var arr1=arr.splice(0);
3、参数有两个时,表示从第几位开始删除多少个元素,并且返回新数组,比如从第0位开始删除3个元素
var arr1=arr.splice(0,3);
4、 从第几位开始可以是负数,从后向前数(倒数),因为没有给要删除的数量,因此删除到尾部
var arr1=arr.splice(-2);
5、参数为三个时,下例表示从数组的第0位开始,删除1个元素,并且在这个位置插入一个元素 -1,替换
var arr1=arr.splice(0,1,-1);
slice()
slice函数功能为 按指定位置截取复制数组的内容 , 返回新数组
格式: arr.slice(从什么位置开始,到什么位置之前结束)
第二个参数可不写,默认截取到尾部
示例如下
var arr=[1,2,3,4,,5,6,7];
var arr1=arr.slice(1,4);
//从第一位截取到第三位(第四位之前),结果:[1,2,3]
var arr1=arr.slice();//复制数组arr
var arr1=arr.slice(0); //复制数组
//以上两个结果相同,复制数组时空元素也会复制
var arr1=arr.slice(3);
//从第三位截取到尾部复制
//结果:[3,4,empty,5,6,7]
var arr1=arr.slice(-2);
//从倒数第二位开始截取到尾部
//结果:[6,7]
var arr1=arr.slice(-3,-1);
//从倒数第三位到倒数第一位之前
//结果:[5,6]