Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
显示来自返回javascript数组的函数的图像_Javascript_Arrays_Random_Prototype - Fatal编程技术网

显示来自返回javascript数组的函数的图像

显示来自返回javascript数组的函数的图像,javascript,arrays,random,prototype,Javascript,Arrays,Random,Prototype,我有一个函数,它将图像数组随机化,并在显示后返回一个包含随机图像的数组 <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

我有一个函数,它将图像数组随机化,并在显示后返回一个包含随机图像的数组

<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.writeimages.random;当我这样做时,我会得到带有图像的数组,但我希望使用类似document.write的东西来显示它们\但这不起作用。任何想法都会把你的问题记录下来。写下来会把所有的DOM都抹掉。更好的解决方案是使用document.createElement创建图像,然后将它们附加到正文或任何其他需要的容器中

首先,要使代码清晰,请创建如下函数:

function createImage(imgname){
    var img = document.createElement("img");
    img.src = "images/" + imgname;
    return img;
}
然后这样做:

images.random().forEach(function(imgname){
    document.body.appendChild(createImage(imgname));
});

我使用了你们中的一些人提供的一些帮助,以下是我得到的。所以这段代码获取一组图像,将它们随机化,显示它们

<script type="text/javascript">
var images=new Array('g.jpg','f.jpg','f.jpg')
var re=[];
var length=images.length;
var entered=document.getElementById('images');
for(var f=0; f<4; f++){
var ran=Math.floor(Math.random()*(length));
var imge=document.createElement("img";
image.src="images/" + images[ran];
entered.appendchild(image);
</script)

images.random正在返回一个数组。要显示图像,您必须在阵列上循环。请不要在阵列原型上放置随机函数。它甚至不使用调用它的数组。相反,使用一个静态的通用函数,传递数组和所需的元素数。rand=Math.floorMath.random*length;结果:pushimages[rand];似乎能够创建一个包含重复项的数组,或者说与随时随机抽取一个数组没有太大区别。如果你只是想要一张随机图片,我看不出重建阵列的理由。只要让random返回图像[Math.floorMath.random*images.length];。同样,我认为没有必要使用write或prototype.so fori=0;我想显示9个图像数组中的4个随机图像,并创建一个包含正在显示的随机图像的数组