首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于外部变量将一块信息推送到数组X次

基于外部变量将一块信息推送到数组X次
EN

Stack Overflow用户
提问于 2019-08-17 07:18:07
回答 1查看 50关注 0票数 2

我正在修改一个游戏,其中一些JavaScript是用来推动人工智能到游戏插槽。出于游戏原因,我希望基于外部变量在插槽数组中创建多个条目。

我并不真正了解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
});

我希望最后的插槽部分看起来像这样:

代码语言:javascript
运行
复制
  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能够支持的功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-17 07:28:24

一种方法是迭代方式,只需使用ai.copies循环执行for循环,并每次插入一个副本:

代码语言:javascript
运行
复制
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
});

还有一些其他方法,如使用函数范式,但这可以做到

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57532086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档