slice
slice:從已有的陣列中回傳選定的元素,
arrayObject.slice(start,end)
引數:
start:開始位置的索引
end:結束位置的索引(但不包含該索引位置的元素)
該方法不會改變原陣列,
例子:
let arr1 = new Array(1,2,3,4,5,6,7,8,9);
let arr2 = arr1.slice(4,7);
console.log(arr1);
console.log(arr2);
運行結果:

splice
splice() :向/從陣列中添加/洗掉專案,然后回傳被洗掉的專案,
arrayObject.splice(index,howmany,item1,…,itemX)
index:必需,整數,規定添加/洗掉專案的位置,使用負數可從陣列結尾處規定位置,
howmany:必需,要洗掉的專案數量,如果設定為 0,則不會洗掉專案,
item1, …, itemX :可選,向陣列添加的新專案,
該方法會改變原始陣列,
洗掉元素
splice(index,count)
引數:
index:開始位置的索引
count:要洗掉元素的個數
回傳:回傳的是包含被洗掉元素的陣列物件
例子:
let arr1 = new Array(1,2,3,4,5,6,7,8,9);
let arr2 = arr1.splice(4,2);
console.log(arr1);
console.log(arr2)
運行結果:

注意點:使用splice洗掉元素時,剩余的陣列元素索引的順序會改變,會出現陣列塌陷,
插入元素
splice(index,0,插入的項)
引數
index:插入元素的索引值
從index為4的元素開始,洗掉 0 個,添加2個元素:
let arr1 = new Array(1,2,3,4,5,6,7,8,9);
let arr2 = arr1.splice(4,0,'apple','banana');
console.log(arr1);
console.log(arr2);
運行結果:

替換元素
例子:
let arr1 = new Array(1,2,3,4,5,6,7,8,9);
let arr2 = arr1.splice(2, 2, '🍌', '🍉')
console.log(arr1);
console.log(arr2)
運行結果:

總結
splice與slice區別:
共同點:均是洗掉陣列元素并回傳結果,
區別:splice會改變原陣列,而slice不會,并且splice會導致陣列塌陷,
一般來說:
slice是做截取用的;
splice是做洗掉、插入用的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/355345.html
標籤:其他
上一篇:vue中必須注意點有哪些?
