Вывод сообщений из списка в произвольном порядке
Вот мой script.js
function nextMsg(i) {
if (messages.length == i) {
i = 0;
}
$('#message').html(messages[i]).fadeIn(500).delay(12000).fadeOut(500, function() {
nextMsg(i + 1);
});
};
var messages = [
"Сообщение 1",
"Сообщение 2",
"Сообщение 3",
"Сообщение 4",
"Сообщение 5",
"Сообщение 6",
];
$('#message').hide();
nextMsg(0);
Вывод на сайте через
<div id="message"></div>
Как мне сделать так, чтобы сообщения выводились при каждой загрузке страницы не по порядку, а всегда в произвольном порядке?
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
function shuffle(a) {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
let messages = ["Сообщение 1", "Сообщение 2", "Сообщение 3", "Сообщение 4", "Сообщение 5", "Сообщение 6"];
let shuffledMessages = shuffle(messages);
console.log(shuffledMessages);
Потом из перетасованного массива берёте по порядку данные