请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么sequenceList跟playList是指向同一个引用呢

图片描述图片描述
如果是点击这里的随机播放全部,那么这里的sequenceList跟playList提交mutations的时候,不是已经指向了两个不同的引用了吗,那怎么currentSong变化的时候提交的addSongLyric mutation里,修改了sequenceList,playList也能跟着变化呢?我纠结的是这个时候不应该已经是两个不同的引用了吗,但是为啥好像还是指向同一个引用呢
图片描述
图片描述

正在回答

1回答

sequenceList 和 playlist 的数组是不同的引用,但是数组内部的对象是同一份引用。

https://img1.sycdn.imooc.com//szimg/623421c409d3b1a810901032.jpg

song 对象就是引用。

0 回复 有任何疑惑可以回复我~
  • 提问者 小生来也 #1
    谢谢,我明白了,虽然两个数组指向不同,但是这两个数组内部的对象是同一份,这样的话即使是遍历其中一个数组去修改内部的对象,另一个也会跟着变化,
    const obj = {a: '123'};
    const arr1 = [obj];
    const arr2 = [obj];
    arr1.map(item => {
      item.id = 1 // 这个时候相当于在对obj做操作,而obj是对象,是引用类型,所以虽然这边是遍历arr1,但是arr2中的obj也会跟着变化
    return item	
    })
    console.log(arr1, arr2)
    回复 有任何疑惑可以回复我~ 2022-03-18 15:17:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信