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

来源:5-11 播放器 歌词相关逻辑开发(01)

小生来也

2022-03-18

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

写回答

1回答

ustbhuangyi

2022-03-18

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

//img.mukewang.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
共1条回复

Vue3开发企业级音乐Web App 明星讲师带你学大厂代码

慕课网明星讲师黄轶深度讲解 Vue3.0 ,提升的不止是Vue代码能力

2223 学习 · 1002 问题

查看课程