splice 和slice 都不会影响原数组吗? 作为截取字符串,他们有什么区别呢?

splice 和slice 都不会影响原数组吗? 作为截取字符串,他们有什么区别呢?

splice 和slice 都不会影响原数组吗? 作为截取字符串,他们有什么区别呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好!
1.splice该方法会改变原数组

2.区别:

1)slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。

start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。

end参数:可选(如果该参数没有指定,那么切分的数组包含从start倒数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。

例如:

var str = "Hello,world!";
var sliceStr = str.slice(1,5);//ello (不包含end)

2)splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。

splice(index,howmany,item1,...itemX)

index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。

howmany参数:必须,要删除的数量,如果为0,则不删除项目。

tem1,...itemX参数:可选,向数组添加的新项目。

例如:

var arr = [1,2,3,4,5];
console.log(arr.splice(2,1,"hello"));//[3]  返回的新数组

如果帮到了你,欢迎采纳,祝学习愉快~

  • weixin_慕粉8323943 提问者 #1
    所以arr 被改变后的原数组是1,2,"hello", 4, 5 对吗?
    2019-10-07 16:51:00
  • weixin_慕粉8323943 提问者 #2
    splice 改变原数组,但返回的是被删除的新数组 slice 不改变变数组, 返回的也是新数组。 对吧
    2019-10-07 16:52:41
好帮手慕夭夭 2019-10-07 19:09:40

你好同学,很聪明,理解的都正确。祝学习愉快,望采纳。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师