请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问:我有一个JS数组存储一些宣传语,现在想让它们随即(机)输出,同一轮循环里不能重复,每一轮循环结束从头再来。
// 宣传语数组
const slogans = [
"欢迎来到我们的网站!",
"今天是个好日子!",
"快来参加我们的活动吧!",
"感谢您的支持!",
"期待您的光临!"
];
// 用于存储已输出的索引
let usedIndexes = [];
// 随机获取一个未使用的索引
function getRandomIndex() {
if (usedIndexes.length === slogans.length) {
// 如果所有索引都已使用过,重置usedIndexes
usedIndexes = [];
}
let randomIndex;
do {
randomIndex = Math.floor(Math.random() * slogans.length);
} while (usedIndexes.includes(randomIndex)); // 确保随机索引未被使用过
usedIndexes.push(randomIndex); // 将随机索引加入已使用列表
return randomIndex;
}
// 输出随机宣传语
function getRandomSlogan() {
const randomIndex = getRandomIndex();
return slogans[randomIndex];
}
// 示例:循环输出宣传语
for (let i = 0; i < slogans.length; i++) {
console.log(getRandomSlogan());
}
|