JS splice 和 slice的区别

16 min read

splice和slice是JavaScript中Array对象的两个方法,用于操作数组。

  1. splice(): splice方法用于向数组中插入、删除或替换元素。它可以接受多个参数,包括起始位置、删除的个数以及要插入的新元素。具体用法如下:

    array.splice(start, deleteCount, item1, item2, ...)

    • start:必需。指定开始操作的索引位置。

    • deleteCount:可选。指定要删除的元素个数,如果为0,则不删除元素。

    • item1, item2, ...:可选。指定要插入的新元素。

    示例:

    var array = [1, 2, 3, 4, 5];
    array.splice(2, 2, "a", "b", "c"); // 从索引位置2开始删除2个元素,并插入新元素 "a", "b", "c"
    console.log(array); // [1, 2, "a", "b", "c", 5]
    
  2. slice(): slice方法用于创建一个新的数组,其中包含从原数组中指定位置的元素。它可以接受两个参数,包括起始位置和结束位置(不包括该位置的元素)。具体用法如下:

    array.slice(start, end)

    • start:可选。指定开始选择的索引位置,默认为0(包括该位置的元素)。

    • end:可选。指定结束选择的索引位置,默认为数组的长度(不包括该位置的元素)。

    示例:

    var array = [1, 2, 3, 4, 5];
    var newArray = array.slice(2, 4); // 从索引位置2开始,选择到索引位置4结束(不包括该位置的元素)
    console.log(newArray); // [3, 4]
    

总结:

  • splice方法用于在原数组上进行插入、删除或替换操作,会改变原数组;
  • slice方法用于创建一个新的数组,包含原数组中选定的元素,不会改变原数组。