Splice

splice(start,deleCount,item)中的参数有:

  • start,参数开始的下标位置
  • deletCount,需要删除的个数,如果没有指定,则删除该开始下标之后的所有元素,0为不删除
  • item,需要添加的元素

这个方法会直接改变原数组,例子如下:

  1. //删除元素
  2. var arr3 = [1,2,3,4,5,6,7,"f1","f2"];
  3. var arr4 = arr3.splice(2,3) //删除第三个元素以后的三个数组元素(包含第三个元素)
  4. console.log(arr4); //[3,4,5];
  5. console.log(arr3); //[1,2,6,7,"f1","f2"]; 原始数组被改变
  6. //添加元素
  7. var arr5 = arr3.splice(2,0,"wu","leon");
  8. //从第2位开始删除0个元素,插入"wu","leon"
  9. console.log(arr5); //[] 返回空数组
  10. 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方法里面的参数,包含开头,不包含结尾