Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为循环创建对象并将其推送到数组中_Javascript_Arrays_Loops_Object - Fatal编程技术网

Javascript 为循环创建对象并将其推送到数组中

Javascript 为循环创建对象并将其推送到数组中,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,我希望创建一个名为allEnemies的数组,其中包含属于“敌人”类的“bug”。我试图在for循环中完成它,因为稍后将修改var“bug”。问题是,创建的对象“如果我正在创建它们”不会进入数组“allEnmies”。先谢谢你 var allEnemies = []; var random_speed = function() { return Math.floor(Math.random() * (300 - 80)) + 80; }; var random_y = functio

我希望创建一个名为allEnemies的数组,其中包含属于“敌人”类的“bug”。我试图在for循环中完成它,因为稍后将修改var“bug”。问题是,创建的对象“如果我正在创建它们”不会进入数组“allEnmies”。先谢谢你

var allEnemies = [];

var random_speed = function() {
    return Math.floor(Math.random() * (300 - 80)) + 80;
};

var random_y = function() {
    var postions = [60, 143, 226];
    return positions[Math.floor(Math.random() * 3)];
};

var create_enemies = function() {

var bugs = 4;

for (var i = 0; i < bugs; i++) {
    var bug = new Enemy();
    bug.speed = random_speed();
    bug.y = random_y();
    bug.x = 0;
    allEnemies.push(bug);
}
};
var allEnemies=[];
var random_速度=函数(){
返回Math.floor(Math.random()*(300-80))+80;
};
var random_y=函数(){
var头寸=[60143226];
返回位置[Math.floor(Math.random()*3)];
};
var create_=function(){
var=4;
对于(var i=0;i
演示-

好的,有几件事:

1) 由于您已使用分配给变量的匿名函数声明了
for
循环,因此需要通过该变量
create\u founders()
调用该函数。没有这一点,您的代码将无法运行

2) 您需要创建一个Ememy构造函数(如果您还没有这样做的话)

3) 您在代码的某个位置拼错了
位置
,导致错误


看一看JSFIDLE,让我知道它是否回答了您的问题(FIDLE包含用于跟踪阵列的console.log语句)。

敌人的原型在哪里?你在哪里调用
创建敌人()
?这似乎是肯定的-我也非常确定,每当你在变量中使用下划线时,会创建一些敌人。。。贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾贾;)您在
var positions=[60143226]中拼写了
positions
错误。请参见创建了一个带有空白“敌人”函数的工作小提琴。为了问题的简洁性,他可能只是没有包含
敌人
构造函数。我敢打赌,拼写错误才是真正的问题。我认为缺少
create\u founders()
调用才是真正的问题。是的,两者都会导致问题,但拼写错误会产生一个错误,这表明问题出在哪里。如果没有调用,代码将不会有任何反馈…它将无法运行。感谢我没有调用,敌人的构造函数已经生成…链接也很好,可以澄清我的其他问题