javascript - 2 张随机图像,但不相同

标签 javascript

我有这个函数,可以显示从文件夹中选取的两个随机图像。我是否有机会修改代码,这样我就不会两次得到相同的图像?

提前致谢。

var theImages = new Array()

theImages[0] = 'img/dyptichs/f-1.jpg'
theImages[1] = 'img/dyptichs/f-2.jpg'
theImages[2] = 'img/dyptichs/f-3.jpg'
theImages[3] = 'img/dyptichs/f-4.jpg'
theImages[4] = 'img/dyptichs/f-5.jpg'

var j = 0
var p = theImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
   preBuffer[i] = new Image()
   preBuffer[i].src = theImages[i]
}
var WI1 = Math.round(Math.random()*(p-1));
var WI2 = Math.round(Math.random()*(p-2));

function showImage1(){
document.write('<img src="'+theImages[WI1]+'">');
}
function showImage2(){
document.write('<img src="'+theImages[WI2]+'">');
}

最佳答案

你可以这样做:

var WI1 = Math.round(Math.random()*(p-1));
var WI2 = Math.round(Math.random()*(p-1));
while (WI2 === WI1) {
    WI2 = Math.round(Math.random()*(p-1));
}

我们不断生成新号码,直到它与 WI1 不同,以确保它是唯一的。

关于javascript - 2 张随机图像,但不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51137347/

相关文章:

javascript - Discord.js - 正确使用 : for (const guild of client. guilds.cache)?

javascript - 使用 JQuery 删除图像

javascript - 从 Javascript 选项值获取 bool 值的正确方法

javascript - Google Maps JS API v3 - 简单的多标记示例

javascript - 正则表达式 - 匹配从 'XXX' 开始到下一次出现

javascript regex - 替换字符串停止词

Javascript 到 html 替换标签不起作用

javascript - 加密后检查空字段

javascript - 绘制圆弧,取决于输入的时间

javascript - 在其他页面中使用 javascript 更改类