1、splice( )
概念:splice( )用于修改原始数组,它可以删除、插入、替换数组的元素,并返回被删除的元素组成的新数组。
语法:splice(start,deleteCount,item1,item2,itemN)
start:开始位置,规定添加/删除的起始位置。从 0 开始计算的索引,表示要开始改变数组的位置
deleteCount:移除的数量。要删除的项目数量。如果设置为 0,则不会删除项目。
item:替换的元素,从数组中移除一个或多个,并用新的item替换。
let arr = [1, 3, 4, 5, 7, 8, 9, 6]; // 从下标为2的元素开始截取,截取3个元素 let result = arr.splice(2, 3); // 输出结果:[4, 5, 7] console.log(result); // 从下标为-3的元素开始截取,截取2个元素 let result1 = arr.splice(-3, 2); // 输出结果为:[8, 9] console.log(result1);
2、slice( )
概念:slice( )用于创建原始数组的一个浅拷贝副本,它可以通过指定起始和结束位置来选取数组的一部分,并返回选取的元素组成的新数组。
语法:slice(start,end)
start:提取起始处的索引,规定从何处开始选取,默认是从下标0开始。如果是负数,则从末尾开始。也就是说 -1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end:提取终止处的索引,规定从何处结束选取。该参数是数组片段结束处的数组下标,如果省略则一直截取到数组末尾。
let arr = [1, 2, 3, 5, 2, 3, 4, 4, 1, 2]; // 从下标为1的元素开始截取,结束下标为4的元素 let result = arr.slice(1, 4); // 输出结果为:[2, 3, 5] console.log(result); // 从下标为-3的元素开始截取,结束下标为-1的元素 let result1 = arr.slice(-3, -1); // 输出的结果为:[4,1] console.log(result1);
注意:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
3、区别
相同点:都可以用于数组元素的截取
不同点:
① splice改变原数组,slice不改变原数组;
② splice还可以实现添加、删除操作;
③ splice可以传入3个参数,而slice只能传入2个参数。
标签:splice,slice,下标,浅谈,截取,元素,数组 From: https://www.cnblogs.com/wanker/p/17600919.html