繁体   English   中英

如何从对象数组中检索随机对象? 使用Javascript

[英]How do I retrieve a random object from an array of objects ? Javascript

我有一些代码将图像添加到“ imageContainer”

$('.imageContainer').prepend('<img id="xboxLogo" src="images/xboxLogo.png"/>')

我有这个对象数组:

var imagesArray = { 
    xboxLogo : {
        id : 'xboxLogo';
        src: "images/xboxLogo.png";     
    },
    playStatLogo : {
        id : 'playStatLogo';
        src: "images/playStatLogo.png"; 
    },
    wiiLogo : {
        id : 'wiiLogo';
        src: "images/wiiLogo.png";  
    }
    }

我想做的是有一个我调用的函数,该函数将图像添加到“ imageContainer”中,但我希望从“ imagesArray”中随机选择图像。 如何随机获得3张(xbox,playStation,wii)图像之一,然后检索其属性,以便可以使用它们来创建图像?

 var imagesArray = [ { id: 'xboxLogo', src: "images/xboxLogo.png" }, { id: 'playStatLogo', src: "images/playStatLogo.png" }, { id: 'wiiLogo', src: "images/wiiLogo.png" } ]; $('button').click(function() { var randomImage = imagesArray[Math.floor(Math.random() * imagesArray.length)]; $('p').text(randomImage.src); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p></p> <button>pick random</button> 

生成一个随机数字,该数字将成为所需图像的索引。

var keys = Object.keys(imagesArray);
var n = keys.length;
var index = Math.floor(Math.random() * n);
var randomKey = keys[index]
var image = imagesArray[randomKey]

暂无
暂无

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

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