Splice
splice(start,deleCount,item)中的参数有:
- start,参数开始的下标位置
- deletCount,需要删除的个数,如果没有指定,则删除该开始下标之后的所有元素,0为不删除
- item,需要添加的元素
这个方法会直接改变原数组,例子如下:
//删除元素
var arr3 = [1,2,3,4,5,6,7,"f1","f2"];
var arr4 = arr3.splice(2,3) //删除第三个元素以后的三个数组元素(包含第三个元素)
console.log(arr4); //[3,4,5];
console.log(arr3); //[1,2,6,7,"f1","f2"]; 原始数组被改变
//添加元素
var arr5 = arr3.splice(2,0,"wu","leon");
//从第2位开始删除0个元素,插入"wu","leon"
console.log(arr5); //[] 返回空数组
console.log(arr3); // [1, 2, "wu", "leon", 6, 7, "f1", "f2"]; 原始数组被改变
Slice
slice则是从原数组中截取并复制出来,并没有改变原数组
var arr1 = [1,23,44,55,66,77,888,"fff"];
var arr2 = arr1.slice(2,4) //从index为2截取到index为4之前不包括4
console.log(arr2); //[44,55]
console.log(arr1); // [1,23,44,55,66,77,888,"fff"]原始数组没有被改变
其中slice方法里面的参数,包含开头,不包含结尾