用法:数组
slice:截取数组 [start, end) /*从start下标开始---end-1下标结束*/
bash
splice:
spa
参数(开始项的下标,剪切长度,剪切之后最后一位开始添加数据)code
var arr = ['a', 'b', 'c', 'd'];博客
arr.splice(1, 2, 1,2,3,4,5) //arr变为['a', 1, 2, 3, 4, 5, 'd']string
var arr = ['a', 'b', 'c', 'e'];it
arr.splice(3, 0, 'd') //arr变为['a', 'b', 'c', 'd', 'e'];console
arr.splice(-1,0,'d')一样能够实现,数组从后往前数下标从-1开始class
区别:从用法里就能看到区别了,可是我以为他们还有一个最主要的区别是slice方法不改变原数组,splice方法改变原数组。看代码
方法
var arr = [];
arr[0]=1;
arr[1]=2;
arr[3]='abc';
arr[5]=true;
console.log(arr); //[ 1, 2, <1 empty item>, 'abc', <1 empty item>, true ]
console.log(arr.slice(0,4)); //[ 1, 2, <1 empty item>, 'abc' ]
console.log(arr); //[ 1, 2, <1 empty item>, 'abc', <1 empty item>, true ]
console.log(arr.splice(0,3, 3,4,5)); //[ 1, 2, <1 empty item> ]
console.log(arr) //[ 3, 4, 5, 'abc', <1 empty item>, true ]复制代码
能够看出:slice方法不会改变原数组,slice方法返回新截取的数组
splice方法改变原数组,splice方法返回截取到底数组