JavaScript цикл foreach по массиву шестнадцатеричных значений, используя setTimeout для циклического переключения между цветами фона

Я пытался придумать самый краткий способ, которым я могу изменить цвета фона, используя JavaScript. (Попытка освоить функции forEach и более высокого порядка просто для удовольствия.) В любом случае, это будет выполняться при загрузке страницы, и я думаю, что я довольно близок:

function background(){
    var colorArray = ["#14183b", "#002e2e", "#0d2d40", "#173052", "#194759", "#296b73"];
    function change(newcolor){
        document.body.style.backgroundColor=newcolor;
    }
    colorArray.forEach(function(color){
        setTimeout(change(color), 1000);
    });
}

Проблема в том, что цвет фона показывает только последний элемент в массиве. Я также не уверен, как снова запустить цикл forEach после его завершения. Спасибо за любую помощь!

Ответы на вопрос(3)

Ваш ответ на вопрос