繁体   English   中英

Javascript:如何创建一个函数,该函数可以从固定数量的类中生成 X 数量的对象?

[英]Javascript: How do I create a function that can generate an X amount of objects drawing from fixed amount of classes?

对于我的编码任务,我的任务是创建一个函数,该函数可以从固定数量的类中生成 X 数量的对象。 但是在生成对象时,我想将这些对象存储在一个数组中。 我将如何在 Javascript 中执行此操作?

与您对两个对象所做的几乎相同。 只需使用数组的长度选择一个随机元素,并使用循环执行 X 次操作:

 /* Class definitions */ function Animal(){ var a = document.createElement('div'); a.className = 'animal'; return a} function Horse(){ var a = new Animal(); a.className += ' horse'; return a } function Pig(){ var a = new Animal(); a.className += ' pig'; return a } function Rat(){ var a = new Animal(); a.className += ' rat'; return a } /* Variable definitions */ var animals = ['Horse', 'Pig', 'Rat'], output = document.getElementById('output'), numberOfDraws = 5, res = []; /* Auxiliary functions */ // Returns a random element from a given array function pickRandom(arr){ return arr[ Math.floor( Math.random()*arr.length ) ]; } /* Main script */ // Pick a random object 5 times, store it in 'res' and show it for(var i = 0; i < numberOfDraws; i++){ res.push( eval('new ' + pickRandom(animals) + '()') ); output.appendChild( res[i] ); }
 .animal{float:left;padding:40px;background-size:100%}.horse{background-image:url(https://pbs.twimg.com/profile_images/587037647966613504/Mk5oEKsb.png)}.pig{background-image:url(https://33.media.tumblr.com/avatar_c2b180faa484_128.png)}.rat{background-image:url(http://38.media.tumblr.com/avatar_614c66cef635_128.png)}
 <pre id="output"></pre>

编辑:要获取类的实例,您可以eval类名。 请参阅上面的演示。

暂无
暂无

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

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