为循环创建对象并将它们推入数组js

时间:2015-09-23 21:36:36

标签: javascript arrays loops object

我希望创建一个名为allEnemies的数组,其中包含" bug"它属于一个" Enemy"。我试图在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);
}
};

1 个答案:

答案 0 :(得分:2)

演示 - http://jsfiddle.net/ubkusb6r/

好的,还有一些事情:

1)由于您已使用分配给变量的匿名函数声明for循环,因此您需要通过该变量create_enemies() 调用该函数。如果没有这个,你的代码就不会运行。

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

3)您在代码中的某个位置拼错了positions ...导致错误。

看看JSFiddle,让我知道它是否回答了你的问题(小提琴包括用于跟踪数组的console.log语句)。