slice和splice都是数组中方法,但使用场景不同。
slice:该方法用于从原数组中提取一个片段并返回一个新数组,这个属于浅拷贝,不会改变原数组。
语法:slice(startIndex, endIndex) ,其中 startIndex 是要提取片段的起始位置(包含该位置),
endIndex 是要提取片段的结束位置(不包含),如果省略 endIndex 则默认提取到的是数组末尾。
特点:
非变异操作:原数组保持不变。 支持负数索引:负数表示从数组末尾开始计算位置。
splice:该方法用于直接在原数组中删除,替换或添加元素,会改变原始数组,并返回被删除的原数组成的数组。
语法splice(startIndex,deleteCount[,item1,item2]),其中 startIndex 开始操作的索引位置,deleteCount 要删除原数的个数,后面的参数是可选的,用于指定位置插入新元素。
特点:
变异操作:会直接修改原数组
可以通过设置 deleteCount 为 0,来在指定位置插入元素,而无需删除任何元素。
使用场景:
(1)当你需要动态的从数组中移除一个或多个元素时。
(2)在数组的特定位置插入新元素。
(3)同时进行删除和插入操作,如替换数组中的某些元素。
总结
- slice适合于数据提取和复制的场景,因为它不改变原数组,保证了数据的原始性。
- splice适合于需要直接修改数组内容的场景,比如删除、插入或替换元素,它的操作更为灵活但也需要注意其会改变原数组的特性。选择哪个方法取决于你的具体需求:是否需要保持原数组不变,以及是否涉及到元素的增删改。