【发布时间】:2014-02-12 19:09:49
【问题描述】:
我有一个函数可以随机化一组图像并在显示后返回一个包含随机图像的数组。
<script type = "text/javascript">
var images = new Array('0.jpg', '1.jpg' , '2.jpg'), result=[] ;
Array.prototype.random = function () {
var that = this.slice();
var length=images.length;
var rand;
for(i=0; i<=4;i++)
{
rand=Math.floor(Math.random()*(length));
result.push(images[rand]);
}
return result;
}
//document.write(images.random()); 当我这样做时,我得到了带有图像的数组,但我想使用类似 document.write('<img src="images/'+images.random()+'" width = \"\" height = \"\"/>');\but 那不起作用..任何想法来显示它们
【问题讨论】:
-
images.random()正在返回一个数组。要显示图像,您必须遍历数组。 -
请不要将
random函数放在 Array 原型上。它甚至不使用调用它的数组。相反,请使用静态的通用函数,您可以通过该函数传递数组和所需的元素数量。 -
rand=Math.floor(Math.random()*(length));result.push(images[rand]);似乎能够创建一个包含重复项的数组,或者说与随时拉随机数没有太大区别。如果你只是想要一张随机的图片,我看不出重建数组的原因。只要random做return images[Math.floor(Math.random()*images.length)];。同样,我认为不需要使用write或原型。 -
so for(i=0; i
-
我想显示 9 个图像数组中的 4 个随机图像,并使用正在显示的随机图像创建一个数组
标签: javascript arrays random prototype