我想减少代码中 IF 语句的数量:
重复的属性太多,这是一个问题。
第二部分可能与上面的代码相关。 我想迭代我的对象属性:
myObject ={
property_1:myValue_1,
property_2:myValue_2,
其他属性_1:myValue_1
};
基于上面的对象,我只想迭代 property_1, property_2
,忽略 otherProperty_1
。
我的对象最多可以有 5 个“property_x”属性,或者根本没有。我试图制作一个类似于以下伪代码的 if 语句:
for(var statName in myObject){
If(myObject has any property called : 'property_1, property_2, property_3, property_4, property_5'.indexOf(statName) != -1;)
//Then display in html: '<img src="images/' + property_x(where x is a property 1/2/3/4 or 5) and it would display only available properties in current object. I can make it work with an 5x if else statements to check for every property, since there cannot be property_1 and property_3/4/5 if "2" is missing. I was looking for a better way to display it.
}
}
使用 JavaScript 回答是最好的,但 jQuery 也是一个选择。
欢迎提供任何我可以用来了解更多信息的 Material 链接。
谢谢
最佳答案
不确定我是否理解您问题的第二部分,但这是您的 fiddle 的简化版本:
var randomNumber = Math.floor((Math.random() * 100) + 1);
if (dropItem.itemType === "weapon") {
dropItem["materiaSlot_1"] = 'empty';
if (randomNumber >= 40) dropItem["materiaSlot_2"] = 'empty';
if (randomNumber >= 60) dropItem["materiaSlot_3"] = 'empty';
if (randomNumber >= 80) dropItem["materiaSlot_4"] = 'empty';
if (randomNumber >= 95) dropItem["materiaSlot_5"] = 'empty';
};
关于javascript - 如何迭代特定对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30818898/