Проблема с воспроизведением музыки
Занимаюсь разработкой музыкального плеера на JavaScript. Нужно сделать так, чтобы при клике на жанр музыки проигрывалась случайная песня, но без повторений до тех пор, пока все композиции не будут проиграны.
Мой текущий код:
let currentTrack;
const shuffleTracks = musicList => {
if (currentTrack) {
currentTrack.pause();
currentTrack.currentTime = 0;
}
let track = musicList[Math.floor(Math.random() * musicList.length)];
track.play();
currentTrack = track;
}
const rockButton = document.querySelector(".rock-genre")
rockButton.addEventListener("click", (event) => {
let musicCollection = document.querySelectorAll(".rock-genre audio")
shuffleTracks(musicCollection);
})
В чем проблема?
Сейчас песни повторяются слишком часто. Хочется реализовать логику как в Spotify - сначала проиграть все треки, потом начать заново. Пытался использовать filter для исключения уже проигранных композиций, но получаю ошибку что это не функция. Как правильно отслеживать проигранные треки и исключать их из случайной выборки?