如何创建预分配的' Myobject' ??? 我知道你可以这样做:
var a = new array(100);
现在你只能这样做:
var a = new array();
a.push (new Myobject()); (100 times)
我想做:
var a = new array(Mobject,100)
(或类似的东西) 可能吗 ? 会有效吗? TH。
答案 0 :(得分:2)
以下是如何使用Array
函数创建已填充的数组:
var a = Array.apply(0,Array(100)).map(function() { return new Myobject() });
请注意:
for
循环2018年编辑:现在更简单:
var a = Array(100).fill().map(()=>new Myobject);
答案 1 :(得分:0)
试试这个。它使用隐式循环,你需要为旧版浏览器填充它,但我认为它有点酷:
<德尔> var a = new Array(100).map(function() {return new Myobject();});
德尔>
编辑:或者如果它起作用会很酷= /没关系。
for( var a=[], i=0; i<100; i++) a[i] = new Myobject();
答案 2 :(得分:0)
这是一个使用简单循环的可重用函数,不依赖于map
可用性:
function createPrefilled(obj, len) {
var a = [];
for(var i = 0; i < len; i++) {
a.push(new obj());
}
return a;
}
使用示例:
var a = createPrefilled(Mobject, 100);
<强> Demo here 强>