繁体   English   中英

用JavaScript中的另一个数组的值生成一个数组

[英]generate an array with values of another array in javascript

我有一些值应该是随机显示一些图像的数组。 我想做的是用随机图像的名称创建另一个数组

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

//在将一个数组随机化后,我想用随机图像创建另一个数组,该图像将是数组2。我该怎么做? 我本来是var shuffled=new Array(one[random]); 创建第二个数组,但是不起作用..任何想法?

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

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();

演示

我将顶部示例用作参考并进行了格式化,因为它正在创建重复项

<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;

简介:我有一个图像数组,我将这些图像随机显示在页面上,然后使用显示的随机图像创建另一个图像数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM