splice()和slice()如何区分呢?

splice和slice的区别

splice和slice是js数组中常见的方法、虽然只有一个单词之差,但是却有着很大的不同。
splice用于从一个数组中进行 *添加、删除、替换*元素、它可以接收三个参数。如下:
splice(start、deleteCount、item1,item2…)
start(必需) : 表示从哪个位置(索引)开始删除或者添加元素
deleteCount(可选) : 表示要删除的元素数量。如果设置为0,则不会删除任何元素
item1,item2…(可选): 表示要添加到数组里的新元素

如果只传入start参数,则方法将从该位置开始删除所有后续元素
如果传入了deleteCount参数,则方法将从start位置开始删除指定数量的元素
如果还传入了item1,…元素,则方法将从start位置开始删除指定数量元素,并将新元素插入到该位置和后续位置之间

例:使用 splice() 方法删除数组中的一个元素

const arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 删除从索引为 2 的元素开始的 1 个元素
console.log(arr); // 输出 [1, 2, 4, 5]

例:使用 splice() 方法向数组中插入新元素

const arr = [1, 2, 3, 4, 5];
arr.splice(2, 0, 'a', 'b'); // 从索引为 2 的位置开始插入 'a' 和 'b'
console.log(arr); // 输出 [1, 2, 'a', 'b', 3, 4, 5]

注:splice()是对原数组进行了修改

slice用于对数组进行截取,可以接收两个参数,如果只传入一个参数,则表示从开始位置截取到数组的末尾。如下:
slice(start,end)
start:开始位置的索引
end:结束位置的索引(但是不包含该索引位置的元素)
例:使用 slice() 方法对数组截取

var arr = ['a','b','c','d','e']
var newArr = arr.slice(0,3)  // 不包含索引值为3以后的元素
console.log(newArr);   // ['a','b','c']

注:slice()从一个数组中抽取一段子数组,返回一个新的数组,并不会修改原数组

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值