Почему setTimeout не работает?
setTimeout(() => slideshow(j++, i++), 5e4);
первым аргументом должна быть функция, которая выполнится через время.

А у вас был результат мгновенного выполнения функции.
Друг, попробуй сделать это 
setTimeout(() => slideshow(j+1,i+1), 50000)