如何将图像推入数组并检查图像是否在数组中
How to push an image into an arra and check if image is in an array
我试图显示一个随机图像,一旦这个图像被显示,它被移动到另一个数组,如果新的随机图像在第二个数组中,那么它将重复该函数以获得一个新的图像。我的代码如下
var correctAnswer
var image
var images = new Array(10)
images[0] = "Bridleway.png"
images[1] = "Bus.png"
images[2] = "Footpath.png"
images[3] = "House.png"
images[4] = "Park.png"
images[5] = "Pillar.png"
images[6] = "Road.png"
images[7] = "Train.png"
images[8] = "Worship.png"
images[9] = "Youth.png"
//selecting a random image
var usedImages = new Array()
function getRandomImage() {
image = images[Math.floor(Math.random() * 10)];
if (image in usedImages)
getRandomImage();
else
return image;
}
function displayRandomImage() {
correctAnswer = document.getElementById("randomImage");
correctAnswer.src = getRandomImage();
usedImages.push(correctAnswer.src)
变化:
if (image in usedImages)
:
if (usedImages.indexOf(image) != -1)
x in y
测试x
是否为对象y
的属性名之一,它不搜索数组的值。
y.indexOf(x)
返回x
在数组y
中的位置。不能将其用作布尔值,因为对于第一个元素,它返回0
(这是假的),当没有找到该元素时返回-1
(这是真)。这就是为什么你必须将结果与-1
进行比较。
另一个问题是,当您检索correctAnswer.src
时,它将包含图像的完整URL,而不仅仅是文件名,因此它不会匹配images
中的内容。你应该自己推送文件名。
function displayRandomImage() {
var correctAnswer = document.getElementById("randomImage");
var image = getRandomImage();
correctAnswer.src = image;
usedImages.push(image);
}
相关文章:
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 在字符串中查找所有图像 src URL 并存储在数组中
- 在ListView中添加JSON数组中存储的图像-ReactNative
- JavaScript中的数组图像循环
- 循环以检查数组中的最后一个图像
- 如何从 URL 数组向文档添加图像列表
- 数组上的多图像上传-Javascript/Jquery
- Jquery/Javascript:通过按下按钮显示数组中的随机图像
- JavaScript:是否可以将图像/信息附加到数组项
- Javascript图像数组预加载速度和从内存中删除
- 将图像数组访问到动态表中
- Javascript检查图像是否在数组中
- Javascript图像数组
- 正在从字节数组加载图像内容
- Javascript:如何将SVG图像放入数组中
- JavaScript 在删除预上传图像时不清除图像数组
- 比较数组图像&值如果ok提交表单
- 画布图案饼图与数组图像
- Javascript数组(图像滑块)(Webkit中的bug ?)
- 在画布中绘制数组图像