先说结论:
splice:改变原来的数组本身
slice:开辟新空间存储新数组
splice:
粘接的意思,就是把数组打碎了,然后粘在一起,所以它改变了原数组
参数说明:
splice(beginIndex, deleteLength, …args);
beginIndex: 表示的是从数组的beginIndex下标开始删除。
deleteLength:表示的是删除deleteLength长度的元素。
…args: 表示的是要在此插入的元素。
举例说明:
let arr=["啊","吧","啊","吧","啊","吧","啊","吧"];
console.log(arr.splice(2,4,"a:","b","a"));
console.log(arr);
表示的含义是,
从arr数组的下标为2的位置删除4个元素,
再插入[“a”,“b”,“a”]三个元素,
arr数组本身也被改变。
slice:
部分,片段的意思,就是将原数组摘取了一部分下来,并没有改变原数组
参数说明:
slice(beginIndex, endIndex);
beginIndex: 表示的是从数组的beginIndex下标开始拷贝。
endIndex: 表示的是从数组的endIndex停止拷贝。
拷贝的区间是 [beginIndex,endIndex),左闭右开区间
举例说明:
let arr=["啊","吧","啊","吧","啊","吧","啊","吧"];
console.log(arr.slice(1,4));
console.log(arr);
表示的含义是,
将arr数组的下标[1,4)拷贝一份,
arr数组本身不被改变。