function createPlaylist(properties) { /* весь ваш скрипт */ }
let playlist = createPlaylist(someData);
playlist = createPlaylist(anotherData);
динамически нужно менять в js, а оттуда изменения подхватывать в вёрстку.
у всех изменений должен быть один-единственный источник - логика приложения, тогда не будет рассинхрона между разметкой и логикой