gpt4 book ai didi

javascript - 创建对象并将它们存储在数组中

转载 作者:行者123 更新时间:2023-11-28 00:18:15 24 4
gpt4 key购买 nike

我对 Javascript 很陌生,我要问的问题可能非常初级,但我被困在一个项目中,我需要一些帮助。

基本上我正在做一个小型的 Javascript 项目,我希望其中有一些敌人。一开始会有0个敌人,然后随着时间的推移,可能会产生更多的敌人。我在想,每当创建一个敌人时,我应该将其创建为一个对象,然后将其存储在包含游戏中所有事件敌人的数组中。然后,稍后,我可以从阵列中删除需要删除的敌人。

这是创建我的敌人对象的函数:

function enemy(name, strength, rarity, estTime, success, remTime, Id){
this.name = name;
this.strength = strength;
this.rarity = rarity;
this.estTime = estTime;
this.success = success;
this.remTime = remTime;
this.Id = Id;
}

所以,我可以创建一些像这样的敌人:

var enemy1 = new enemy("Bob", 1, "Common", 100, 1, 30, 1)
var enemy2 = new enemy("Cow", 22, "Rare", 50, 10, 40, 2)
var enemy3 = new enemy("Pig", 333, "Epic", 25, 10, 50, 3)

然后我可以创建一个敌人数组,并将我的 3 个敌人放入该数组中:

var enemies = [];
enemies = [enemy1, enemy2, enemy3];

当我手动执行此操作时,一切都很好,但是当我想尝试让代码自动创建更多敌人时,问题就出现了。假设我想在用户每次按下按钮时创建一个敌人。名称敌人将获得一些名称、强度、稀有度等信息,以及队列中的下一个 Id(在本例中使用 1、2 和 3,因此下一个将是 4)。我想我可以做这样的事情,但这行不通:

enemy[enemies.length + 1] = new enemy("Dog", 444, "Epic", 13, 100, 60, 4);
enemies.push(enemy + [enemies.length + 1]);

我希望这会创建一个名为“enemy4”的对象,其中包含名称、ID 和我刚刚输入的内容,然后将该对象添加到敌人数组中。

但这显然行不通。我希望你们能够理解这个问题,并且非常感谢任何帮助。我意识到我可能只是错误地处理了这一切,而且可能存在一种更简单的方法来做到这一点。

谢谢!

编辑:是的,答案非常简单,现在明白了。谢谢!

最佳答案

var enemies = [
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/),
new enemy(/*params here*/)
];

然后:

enemies.push(
new enemy(/*params here*/)
);

关于javascript - 创建对象并将它们存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com