使用动态变量访问 Meteor 中另一个变量的值
Using a dynamic variable to access another variable's value in Meteor?
所以我试图让我的代码更加模块化,以实现理智的目的(因为它似乎比编写相同的代码 five+ 不同的方式更有效)。
然而,我在这个问题上遇到了一堵墙,因为我的JavaScript知识显然缺乏。我有一个购买各种单位类型的方法调用。我想在训练更高级的citizen.workers
或soldier.specific
之前检查玩家是否有足够的特定类型的单位citizens
或soldiers
。递增更高级的类型还不是我要解决的问题;我只是想确定基本单位是否以最小数量存在。
我目前使用的不起作用。类型变量不是在计算,而是在我希望它默认为"公民"时作为"类型"进行。我在 2 个地方使用该变量,if 语句用于评估目的,并在数据库更新中减少该特定字段的数量。
当前代码:
'buy': function(cost, number, type) {
type = type || "citizens";
var currentUser = Meteor.user();
var player = Players.findOne({createdBy: currentUser._id});
if(player.credits >= cost && cost > 0 && player.type >= number && number > 0) {
Players.update({createdBy: currentUser._id}, {$inc: {'credits': (0-cost), type: (0-number)}});
return true;
}
return false;
},
到处搜索,但没有找到我正在寻找的东西,甚至没有找到我可以开始的东西并开始将其应用于我需要的东西。任何帮助都会很棒。
编辑:是的,我意识到我错误地使用了javascript的默认值。我已经在我的代码中修改了它。大卫·韦尔登(David Weldon)回答的计算值是我更具体地追求的。
通过以下方式更改代码:
player[type] >= number
和
{$inc: {'credits': (0-cost), [type]: (0-number)}}
后者是 es6 中新增的计算属性键的示例。
另请参阅常见错误的"变量作为键"部分。
相关文章:
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- 替换另一个变量对象中的变量值
- 如何将JavaScript变量的数据传递到另一个php页面
- 如何将变量值附加到另一个变量
- 如何将一个变量从一个控制器传递到合金中的另一个控制器
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 是否可以在另一个变量中使用未声明的变量
- 使用JavaScript打开另一个html页面时传递变量
- JS/ANGULAR使用一个变量's值作为另一个对象的键
- 将php页面URL中的变量传递给JavaScript和另一个php
- 用javascript将信息/变量从一个网页传递到另一个网页
- 如何使用javascript/jquery将变量从一个PHP文件传递到另一个PHP文件
- 变量比另一个变量少一个
- Javascript:OnChange事件,将数组变量传递给另一个函数
- javascript将函数中一个变量的参数值传递给父函数中的另一个