splice和slice的区别

splice和slice的区别

splice和slice是数组里的两个重要的方法。

1、splice
splice会改变原数组,他通过删除或者替换现有元素或者原地添加新的元素来修改数组,并且以数组形式返回被修改的内容。

有三个参数

  • start,指定修改的开始位置,如果超出数组的长度,则从数组末尾开始添加;如果是负值,从数组末尾开始第几位;如果负数也大于数组的长度,则开始位置为0
  • deleteCount 可选参数,表述要移除的数组元素的个数。
  • item1,item2,可选,表示要添加进数组的元素。
/**
 * splice
 */
var nums = [1,2,3]
// 将2换成4
nums.splice(1,1,4)  // 从数组下标1开始,操作1个,替换成4
console.log(nums)  // [1,4,3]
// 删除4
nums.splice(1,1) // 从数组下标1开始,操作1个,不替换
console.log(nums) // [1,3]

2、slice
slice返回由start和end决定的一个浅拷贝的新数组,原数组不会改变。

有两个参数

  • start,起始索引,从该索引提取原数组元素,如果是负数,则从末尾开始;如果省略start,则默认是数组的0下标开始
  • end,结束索引,在该索引结束提取原数组元素,如果end被省略,slice会一直到末尾;如果end大于数组的长度,也会提取到数组末尾。
var arr = [1,2,3,4,5]
// 删除3
var arr1 = arr.slice(0,2) // 从第0个开始,删除第2个
console.log(arr1);
//  保留3以后的
var arr2 = arr.slice(2)
console.log(arr2);

总结

  • splice改变原数组,slice不改变原数组。
  • splice除了可以删除之外,还可以插入。
  • splice可传入3个参数,slice接受2个参数。
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值