用法:數組
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方法返回截取到底數組