多次在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
为什么是一个好主意的解释。感谢链接,我现在将查看它,我已经阅读了其中的一些内容,它似乎很有用。