请教问题

请教问题

arr1.shift();为什么不删除第一项,不懂。

正在回答 回答被采纳积分+1

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

2回答
好帮手慕慕子 2021-04-03 16:34:31

同学你好,因为arr2数组中存放的是arr1数组的每一项内容,如:arr1中索引为0的元素arr1[0],arr1中索引为1的元素arr1[1],而调用push方法添加内容的是arr1[1],所以会影响到arr2调用shift删除元素的是arr1数组,所以并不会影响到arr2

同学可以在结合上一条的代码注释理解下,祝学习愉快~

  • 提问者 神知 #1

    区别在于第一个[1]这里是吗?

    2021-04-03 21:09:57
  • 好帮手慕星星 回复 提问者 神知 #2

    你好,是的,arr1[1]值也是一个引用类型,所以push后arr2也会改变。

    2021-04-05 14:59:52
好帮手慕慕子 2021-03-02 10:25:56

同学你好,arr1.shift()这句代码执行后,arr1的第一项会被删除,但是并不会影响到arr2,而本题中考查的是arr2输出结果。具体可以结合解析理解,示例:

http://img1.sycdn.imooc.com//climg/603da20a094587c609220316.jpg

祝学习愉快~

  • 提问者 神知 #1

    为什么push加可以shift删除时地址就不一样了呢,搞不懂。

    2021-04-03 15:19:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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