在javascript中生成一个包含另一个数组值的数组

时间:2014-02-06 04:25:17

标签: javascript arrays random

我有一个数组,其中包含一些应该随机显示一些图像的值。我想要做的是使用随机图像的名称

创建另一个数组
var one = new Array("0.jpg", "1.jpg");//first array of images
 for(i=0; i<=6;i++)
  {
  var random=Math.floor(Math.random()*(length));//randomize the images of array one
 document.write('<img src="'+one[random])//display images

//在数组1随机化之后我想用随机化图像创建另一个数组,这将是数组2 ..我怎么能这样做? 我打算var shuffled=new Array(one[random]);来创建第二个数组,但那不起作用......有什么想法?

2 个答案:

答案 0 :(得分:0)

您可以向randomize添加Array.prototype方法:

Array.prototype.random = function () {
    var result = [],
        that = this.slice();
    this.forEach(function () {
        result.push(that.splice(Math.floor(Math.random() * that.length), 1)[0]);
    });
    return result;
}

然后你可以通过以下方式获得洗牌数组:

var shuffled = one.random();

DEMO

答案 1 :(得分:0)

我使用顶部样本作为参考并格式化,因为它创建了重复

<script type = "text/javascript">
 var images = new Array('0.jpg', '1.jpg' , '2.jpg', '3.jpg'), result=[] ;
Array.prototype.random = function () {
    var that = this.slice();
    var length=images.length;
    this.forEach(function () {

   var rand=Math.floor(Math.random()*(length));         
    result.push(images[rand]);  
   });
return result;

} 简介:我有一个图像数组,我随机显示在页面上,然后我创建另一个数组,显示随机图像