JavaScript中数组slice和splice的对比小结

本文详细介绍了JavaScript中数组操作方法slice和splice的区别与用法。slice用于创建一个新数组,包括指定范围内的元素,而原数组不变;splice则可以修改原数组,实现删除、插入或替换元素的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

slice是指定在一个数组中的元素创建一个新的数组,即原数组不会变.
根据规范,slice 需要两个参数,起点和终点。它会返回一个包含了从起点开始,到终点之前之间所有元素的新数组。

'abc'.slice(1,2)   // "b"
[14, 3, 77].slice(1, 2) // [3]

需要特别注意的是它并不会修改原数组。

下面的代码段描述了这个行为,x 的值没有变,y 则是被截取的部分。

var x = [14, 3, 77];
var y = x.slice(1, 2);
console.log(x);   // [14, 3, 77]
console.log(y);   // [3]

除此之外,splice 还会改变原数组。

push(末尾添加元素) pop(删除并返回数组的最后一个元素) unshift(开头添加元素,并返回新长度)
shift(删除并返回数组的第一个元素)
可见添加元素则返回添加后长度, 删除元素则返回被删的那个元素。

修改自身的有: splice, pop, push, shift, unshift, sort, reverse
不修改自身的: slice, concat, join

 splice删除:color.splice(1,2) (删除color中的1、2两项);

 splice插入:color.splice(1,0,'brown','pink') (在color键值为1的元素前插入两个值);

 splice替换:color.splice(1,2,'brown','pink')  (在color中替换1、2元素);
 var colors = ["red", "green", "blue"];
var removed = colors.splice(0,1);  //删除第一项
alert(colors);  //green,blue
alert(removed);  //red,返回数组中值包含一项

removed = colors.splice(1, 0, "yellow", "orange");  //从位置1开始插入两项
alert(colors);  //green,yellow,organge,blue
alert(removed);  //返回的是一个空数组

removed = colors.splice(1, 1, "red", "purple");  //插入两项,删除一项
alert(colors);  //green,red,purple,orange,blue
alert(remove);  //yellow, 返回的数组中只包含一项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值