@Da3z1_e

Как в скрипте менять выводимый текст каждые 3 дня?

Есть три разных текста в скрипте, нужно чтобы каждые 3 дня они менялись по очереди и так по кругу.

Через конструкцию switch-case и хардовую привязку к дате получается криво, ибо месяца имеют неравное количество дней и в итоге текст выводится неравномерно по интервалу.
Через счетчик и getDate по привязке к текущему дню тоже не особо что-то придумал, цикл while тоже не сообразил как адекватно прикрутить.

Есть идеи или решение?

UPD: даже не сам текст, а данные из массива, каждые три дня использование данных другого массива.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
const index = Math.floor(Date.now() / (3 * 864e5)) % 3; // 0, 1 или 2

console.log( ['X', 'Y', 'Z'][index] );
Первая тройка – получить число миллисекунд в трёх сутках.
3 * 60 * 60 * 24 * 1000 = 3 * 86400000 = 3 * 864e5

Вторая тройка – сколько элементов в массиве. Остаток от деления на их число даст индекс в массиве.
как так
for (let i = 0; i < 6; i++) {
  console.log( i % 3 );
}
// 0 1 2 0 1 2
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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