好的,谢谢老师
这个地方
// 先查一下我们插入的歌曲在不在playList里面,并返回其索引
let fpIndex = findIndex(playList, song)
// 因为是插入歌曲,所以索引要加1
currentIndex++
// 插入这首歌到当前索引位置
playList.splice(currentIndex, 0, song)
// 如果已经包含了这首歌
if (fpIndex > -1) {
// 如果当前插入的序号,大于我们之前列表中的序号
if (currentIndex > fpIndex) {
playList.splice(fpIndex, 1)
currentIndex--
} else {
playList.splice(fpIndex + 1, 1)
}
}
// 当前播放的歌曲从我们的sequenceList里面找,返回下标
// 这个currentIndex是我们将要插入的位置
let currentIndex = findIndex(sequenceList, currentSong) + 1
// 先查一下我们插入的歌曲在不在playList里面,并返回其索引
let fsIndex = findIndex(sequenceList, song)
sequenceList.splice(currentIndex, 0, song)
if (fsIndex > -1) {
if (currentIndex > fsIndex) {
sequenceList.splice(fpIndex, 1)
} else {
sequenceList.splice(fpIndex + 1, 1)
}
}
为什么playList里面,我们删除的歌曲在插入的歌曲之前就需要currentIndex--
而sequenceList里面,我们删除歌曲在插入的歌曲之前就不需要currentIndex--,如果不currentIndex--,那sequenceList整体数组从删除的歌曲往后,所有的inedx不都等于是多加了一位吗
我没想明白