說實在我之前都不怎么分的清這個兩個函數,因為這兩個函數名字那么像,經常我就弄混了,平常使用的時候都先查一下我需要使用的實際是哪個函數。這樣不說很浪費時間,但是也是影響了開發效率,所以我決定今天就徹底區分這兩個函數,通過寫一個隨筆,加深自己的記憶。
`slice(star,end)`是一次截取部分數據但是不會改變原數組的方法,它有兩個參數,一個是截取的開始`index`,一個是結束`index`,結果返回一個新數組。`star`是必填的,`end`是可選的,如果`end`不填,那就默認從`star`開始一直截取到最后;
`star`如果是負數,就意味着是從數據后面開始數。
var array = [1,2,3,4,5,6,7] console.log(array.slice(2,3)) //[3] console.log(array) // [1,2,3,4,5,6,7]
`splice(star,many,item,....)`是一個對數據進行增刪改操作的方法,他改變原數組,返回被刪除的數據數組,他不寫死參數的數目,但是前兩個參數是必填的,`star`是開始操作的數組index,`many`是刪除的數據線數量(如果沒有需要刪除的就寫0),后面的item,都是增加的數據項,可選。
var array = [1,2,3] console.log(array.splice(1,1,4,5,6,7)) //[2] console.log(array) //[1, 4, 5, 6, 7, 3]
