@ArtYarm

Как сделать чтобы каждый промежуток времени возвращало следующий элемент массива?

Есть массив
let colors = ["red", "pink", "coral", "orange", "yellow", "green"];

Нужно создать функцию, которая будет возвращать каждую секунду следующий элемент массива
  • Вопрос задан
  • 252 просмотра
Решения вопроса 3
coderisimo
@coderisimo Куратор тега JavaScript
let colors = ["red", "pink", "coral", "orange", "yellow", "green"];

let t = setInterval(function () {
  if (!colors.length) clearTimeout(t);
  colors.length && console.log(colors.shift());
}, 1000);


следует понимать, что в данном случае после выдачи всех значений массив будет пуст.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
function getColor() {
  return colors[(+ new Date()) % colors.length];
}
Ответ написан
Комментировать
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Удаляй первый элемент и пуш его в конец массива. Показывай всегда 0-индексный элемент массива и повторяй это каждую секунду)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы