为了账号安全,请及时绑定邮箱和手机立即绑定

js的slice( )函数和浅复制

js的slice( )函数和浅复制

UYOU 2018-09-11 06:06:20
1.问题我有一个数组,希望分多次遍历它们,想借助slice()函数在每次遍历前,得到一些连续的数组元素。slice()的官方文档说:slice() 方法会浅复制(shallow copy)数组的一部分到一个新的数组,并返回这个新数组。这里说的浅复制该怎样理解?2.代码比如我的代码:var a = ["php", "python", "java", "c++", "matlab", "ruby", "R", "julia"]var b = a;     // 个人认为这个是“浅复制”b === a    // truevar c = a.slice()// 看了下c的内容:c["php", "python", "java", "c++", "matlab", "ruby", "R", "julia"]c === a    // false  为什么是false呢,slice()不是返回浅复制吗?我对“浅复制”的理解是“赋予相同的内存地址”,所以b===a是true,但是c===a为什么不是true呢,slice()返回的不是浅复制吗?
查看完整描述

1 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

这个浅复制指的是元素的浅复制, 而不是整个数组的浅复制啊. 数组还是新的, 和原来不是一个


查看完整回答
反对 回复 2018-10-10
  • 1 回答
  • 0 关注
  • 778 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信