javascript - 创建 for 循环对象并将它们插入数组 js

标签 javascript arrays loops object

我希望创建一个名为 allEnemies 的数组,其中包含属于“Enemy”类的“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);
}
};

最佳答案

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

好的,有几件事:

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

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

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

看看 JSFiddle,让我知道它是否回答了您的问题(fiddle 包含用于跟踪数组的 console.log 语句)。

关于javascript - 创建 for 循环对象并将它们插入数组 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749934/

相关文章:

java - MongoDB - 使用 Java 添加嵌套数组

java - 线程游戏循环导致 ArrayList 出现问题

javascript - 使用 eval 和 jsonp 响应的替代方法

javascript - 关于 javascript 和 BST 递归的初学者问题

javascript - css位置网页设计

Javascript 计算 - If 语句

javascript - 检查日期是否属于日期数组

将超过 100 个字符串转换为字节数组时出现 java.lang.OutOfMemoryError

python - 迭代页面元素 beautifulsoup

r - 在R中使用循环的多个图