Javascript的随机图像数组
我对Javascript和一般的编码都是新手。我一直在尝试创建一个包含图像数组的代码。然后,单击按钮时,它将生成一个与数组链接的数字,然后显示图像。此外,我希望它在用完之前不要再使用该数字/图像 现在我只是从一个数组开始,随机生成一个数字并显示图像。我浏览了这个论坛,发了几篇帖子,尝试了很多代码。这是我离工作最近的一次了Javascript的随机图像数组,javascript,Javascript,我对Javascript和一般的编码都是新手。我一直在尝试创建一个包含图像数组的代码。然后,单击按钮时,它将生成一个与数组链接的数字,然后显示图像。此外,我希望它在用完之前不要再使用该数字/图像 现在我只是从一个数组开始,随机生成一个数字并显示图像。我浏览了这个论坛,发了几篇帖子,尝试了很多代码。这是我离工作最近的一次了 var imagesArray = [ "1.jpg", "2.jpg", "3.png", "4.png", "5.png", "6.jpg", "7.jpg
var imagesArray = [
"1.jpg", "2.jpg", "3.png", "4.png",
"5.png", "6.jpg", "7.jpg", "8.png"
];
function displayImage() {
var rand = imagesArray[Math.floor(Math.random() * 8)
document.canvas.src = imagesArray[rand];
}
使用这段代码,我得到了一个“意外令牌:文档”错误。我甚至不知道其他部件是否工作,它们只是没有出错
我哪里出错了?此代码满足循环唯一性的要求
var imagesArray = [...]; // initial array
var imagesArrayTemp = imagesArray.slice(0); // clone of initial array
function displayImage() {
var index = Math.floor(Math.random() * imagesArrayTemp.length);
document.canvas.src = imagesArrayTemp[index];
imagesArrayTemp.splice(index, 1); // remove just displayed item
if(!imagesArrayTemp.length) {
console.log('All images have been displayed');
imagesArrayTemp = imagesArray.slice(0); // clone again, let's do a cycle
}
}
只需用四个空格缩进以设置代码格式或突出显示,然后使用
{}
按钮。如果您有一个不匹配的[
,任何合适的IDE都应该为您突出显示错误。我的缩进法不起作用。它一直将我放在标记部分。@nit我正在使用记事本++和Unity。如果我将8之后的)改为a]Unity然后说它希望a)而不是a]随机选择数组元素而不重复,洗牌数组,然后按顺序访问它们。我仍然收到数学、文档和控制台的“未知标识符”错误。我怎样才能解决这个问题?我复制并粘贴了你的代码,删除了注释并更改了。。。在我的图片中(所以“1.jpg”、“2.jpg”等)@Zoroark看起来像是环境问题。文档
对象是HTML文档的根节点,当然它不能是“未知的”(对于数学
和控制台
对象也是如此)。尝试直接在浏览器中运行此代码。或者(最好的选择)试着用或任何东西做一个演示。@Dhilit我发现了这个问题,但我不懂修复它的代码。我用JS编码,但使用Unity作为引擎。因此,数学、文档和控制台不是实际的定义。我已经对Math(Mathf)进行了排序,但不知道后两种方法。@Zoroak如果你有战斗数学对象,那么扔掉console.log
call,找到如何在你的环境中显示图像的正确方法,而不是document.canvas.src
assignment。我相信这部分问题是出于javascript的责任,这是Unity的东西。我也会更新最初的帖子。。。