多次在javascript for循环中使用变量
我不知道如何为我的问题命名标题。问题是:多次在javascript for循环中使用变量,javascript,Javascript,我不知道如何为我的问题命名标题。问题是: //Setup all the stats. var randomStat = Math.floor(Math.random() * ((monster.level + 5) - monster.level + 1) + monster.level); var multiplier = randomStat * itemQuality.qualityMultiplier; //Assign the Stats
//Setup all the stats.
var randomStat = Math.floor(Math.random() * ((monster.level + 5) - monster.level + 1) + monster.level);
var multiplier = randomStat * itemQuality.qualityMultiplier;
//Assign the Stats.
var strength = Math.floor(multiplier * itemSubType.strengthMultiplier / 2); //divide each stat by 2 for better balance
var endurance = Math.floor(multiplier * itemSubType.enduranceMultiplier / 2);
var agility = Math.floor(multiplier * itemSubType.agilityMultiplier / 2);
var dexterity = Math.floor(multiplier * itemSubType.dexterityMultiplier / 2);
var wisdom = Math.floor(multiplier * itemSubType.wisdomMultiplier / 2);
var intelligence = Math.floor(multiplier * itemSubType.intelligenceMultiplier / 2);
var luck = Math.floor(multiplier * itemSubType.luckMultiplier / 2);
它所做的,是创建一个随机变量和乘数变量,然后对每个统计使用它们。我的问题是,如果每个统计,即“strengthMultiplier”与“enduranceMultiplier”相同(有时是这样),那么统计将完全相同,因为randomStat和multiplier只调用一次,并且用于每个stat
我正在尝试为它创建一个循环,调用它7次,每次调用它时,将它用于一个单独的统计,最多7个统计。
当然,我可以为每个stat创建2个新变量(总共14个),但我希望有更好的方法,使用循环。
我使用的是javascript,所以任何帮助都只欢迎使用javascript,而不是jquery或其他任何东西。谢谢:)您可以将您的统计信息保存在数组或对象(此处显示的是后者)中,然后迭代这些数据:
var stats = {
strenght: null,
endurance: null,
agility: null,
dexterity: null,
wisdom: null,
intelligence: null,
luck: null
};
for (var stat in stats) {
// todo: consider using Object.hasOwnProperty here.
var randomStat = Math.floor(Math.random() * ((monster.level + 5) - monster.level + 1) + monster.level);
var multiplier = randomStat * itemQuality.qualityMultiplier;
stats[stat] = Math.floor(multiplier * itemSubType[stat + 'Multiplier'] / 2);
}
将值存储在
stats
dict中,即作为stats.luck
而不是luck
所以基本上,你想要一个新的随机乘数?仅此一点可能无法保证任何统计数据都是相同的,具体取决于值。是的,我理解,它们有可能是相同的,但我希望彼此尽可能多地随机统计数据。答:)我对Object不太了解。HasOwnProperty,但我现在就读它,并了解如何在我的代码中实现它。@Mariusz了解使用hasOwnProperty
为什么是一个好主意的解释。感谢链接,我现在将查看它,我已经阅读了其中的一些内容,它似乎很有用。