我正在修改一个游戏,其中一些JavaScript是用来推动人工智能到游戏插槽。出于游戏原因,我希望基于外部变量在插槽数组中创建多个条目。
我并不真正了解JavaScript,所以直到现在我一直在摸索我的修改方法,所以这可能很简单,但我不理解我应该在谷歌上搜索的术语。
这是普通的代码:
armies.push({
slots: [{
ai: true,
name: ai.name,
commander: fixupCommander(ai.commander)
}],
color: ai.color,
econ_rate: ai.econ_rate,
personality: ai.personality,
spec_tag: '.ai',
alliance_group: 2
});
我希望最后的插槽部分看起来像这样:
slots: [{
ai: true,
name: ai.name,
commander: fixupCommander(ai.commander)
},
{
ai: true,
name: ai.name,
commander: fixupCommander(ai.commander)
},
{
如果该数据块的副本数由外部变量决定,例如ai.copies = 3,则在插槽内生成3个数据块。
该引擎最高支持ECMAScript 5,或任何Chromium 28能够支持的功能。
发布于 2019-08-17 07:28:24
一种方法是迭代方式,只需使用ai.copies
循环执行for循环,并每次插入一个副本:
var slotsArray = [];
for (var i = 0; i < ai.copies; i++) {
slotsArray.push({
ai: true,
name: ai.name,
commander: fixupCommander(ai.commander)
});
}
armies.push({
slots: slotsArray,
color: ai.color,
econ_rate: ai.econ_rate,
personality: ai.personality,
spec_tag: '.ai',
alliance_group: 2
});
还有一些其他方法,如使用函数范式,但这可以做到
https://stackoverflow.com/questions/57532086
复制相似问题