一、splice和slice區別
JavaScript中,splice和slice是兩個常用的數組方法,它們雖然都可以對數組進行操作,但也有一些明顯的區別。
slice方法不會改變原數組,返回的是截取後的新數組。而splice可以改變原數組,它可以刪除、替換或插入元素。
另外,splice的第二個參數是刪除元素的個數,而slice的第二個參數是結束截取的位置,是不包含結束位置的那個元素。
二、splice和slice用法
splice和slice的用法都很簡單。
//slice用法 let arr = [1,2,3,4,5]; let sliceArr = arr.slice(1,3); console.log(sliceArr); //[2,3] //splice用法 let arr = [1,2,3,4,5]; arr.splice(2,1,10,11); console.log(arr); //[1, 2, 10, 11, 4, 5]
三、splice和slice會改變原數組
splice和slice的最大區別是,splice可以改變原數組,而slice不會。
let arr = [1,2,3,4,5]; let sliceArr = arr.slice(1,3); console.log(sliceArr); //[2,3] console.log(arr); //[1,2,3,4,5] let arr = [1,2,3,4,5]; arr.splice(2,1,10,11); console.log(arr); //[1, 2, 10, 11, 4, 5]
四、splice和slice五個參數
splice方法有五個參數,前三個是必要的,而後面兩個可選。
- 第一個參數是開始插入或刪除的位置
- 第二個參數是刪除元素的個數,設置為0則只插入不刪除
- 第三個參數是要插入的元素,可以是一個或多個
- 第四個參數(可選)是要插入的第一個元素的位置,默認是從開始位置插入
- 第五個參數(可選)是要插入的最後一個元素的位置,默認是從結束位置插入
而slice方法只有兩個參數,分別是開始截取的位置和結束截取的位置(不包括結束位置的元素)。
五、splice和slice和split的區別
雖然splice、slice、split三個方法都和數組有關,但它們的作用是不同的。
splice用於數組的增、刪、改操作,常用於動態地向數組添加或刪除元素。
slice用於數組的截取操作,返回的是一個截取後的新數組。
split用於字符串的分割操作,將字符串按指定的分隔符進行分割,返回的是一個由分割後的字符串組成的數組。
六、js slice 和splice區別
JavaScript中有兩種常用類型,分別是字符串和數組。slice和splice都有相應的字符串方法和數組方法,它們的用法類似,但功能不同。
字符串slice方法用於截取字符串,不改變原字符串,返回截取後的新字符串。
字符串splice方法是不存在的。
數組slice方法用於截取數組,不改變原數組,返回截取後的新數組。
數組splice方法用於增、刪、改操作,會改變原數組。
七、數組slice和splice
數組的slice和splice方法,在需要增、刪、改數組元素時非常有用。
//數組slice方法 let arr = [1,2,3,4,5]; let sliceArr = arr.slice(1,3); console.log(sliceArr); //[2,3] console.log(arr); //[1,2,3,4,5] //數組splice方法 let arr = [1,2,3,4,5]; arr.splice(2,1,10,11); console.log(arr); //[1, 2, 10, 11, 4, 5]
八、splice的三個參數
splice方法的前三個參數是必要的,分別是開始插入或刪除的位置、刪除元素的個數、要插入的元素。
我們可以通過splice方法向數組中插入一個或多個元素,也可以刪除一個或多個元素,甚至可以替換元素。
//刪除元素 let arr = [1,2,3,4,5]; arr.splice(2,1); console.log(arr); //[1, 2, 4, 5] //插入元素 let arr = [1,2,3,4,5]; arr.splice(2,0,6,7); console.log(arr); //[1, 2, 6, 7, 3, 4, 5] //替換元素 let arr = [1,2,3,4,5]; arr.splice(2,1,10,11); console.log(arr); //[1, 2, 10, 11, 4, 5]
總之,splice方法的靈活性非常高,可以進行各種各樣的數組操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/270679.html