Javascript 如何遍历特定的对象属性
我想减少代码中IF语句的数量: 重复的属性太多,这是一个问题 第二部分,可能与上述代码有关。 我想遍历我的对象属性:Javascript 如何遍历特定的对象属性,javascript,jquery,Javascript,Jquery,我想减少代码中IF语句的数量: 重复的属性太多,这是一个问题 第二部分,可能与上述代码有关。 我想遍历我的对象属性: myObject={ 属性_1:myValue_1, 属性_2:myValue_2, otherProperty_1:myValue_1 }; 基于上面的一个对象,我只想遍历property\u 1、property\u 2,忽略otherProperty\u 1 我的对象最多可以有5个“property_x”属性,或者根本没有。我试图做一个if语句,类似于下面的伪代码: fo
myObject={
属性_1:myValue_1,
属性_2:myValue_2,
otherProperty_1:myValue_1
};代码>
基于上面的一个对象,我只想遍历property\u 1、property\u 2
,忽略otherProperty\u 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.
}
}
for(myObject中的变量statName){
If(myObject有任何名为:'property_1,property_2,property_3,property_4,property_5'的属性)。indexOf(statName)!=-1;)
//然后以html显示:'
使用JavaScript进行回答是最好的,但jQuery也为我们提供了一个选项。
欢迎与我可以用来了解更多的材料的任何链接
谢谢我不确定我是否理解你问题的第二部分,但这里是你问题的简化版本:
var randomNumber=Math.floor((Math.random()*100)+1);
如果(dropItem.itemType==“武器”){
dropItem[“MaterialsLot_1”]=“空”;
如果(随机数>=40)dropItem[“MaterialsLot_2”]=“空”;
如果(随机数>=60)dropItem[“MaterialsLot_3”]=“空”;
如果(随机数>=80)dropItem[“MaterialsLot_4”]=“空”;
如果(随机数>=95)dropItem[“MaterialsLot_5”]=“空”;
};
我不确定我是否完全理解,但您的伪代码实际上非常有效:-)。您可以使用obj
语句中的for prop遍历每个对象属性(您还应该检查它是否是对象自己的属性),并使用obj[prop]
代码获取此属性的值
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
html += '<img src="' + obj[prop] + '" />';
}
}
for(obj中的var prop){
if(对象拥有自己的财产(财产)){
html+='';
}
}
我知道这段代码,但问题是,我的对象有大约30个属性,我想检查它是否有那些特定的属性“property_1,property_2,property_3,property_4,property_5”然后根据这些属性运行代码,这样它将类似于您的代码,但只搜索这些属性。我希望您现在能更好地理解它:您知道这些参数的名称吗?为什么不简单地迭代一下它们。嘿,我没有足够的经验来提供解决方案,谢谢,这对我很有用。Ac实际上…现在我看了我的代码,我做了完全相同的事情。哈哈。几乎一样,你的代码占用的空间比我的少,所以它比我的好。嘿,谢谢:)这就是我要找的。关于第二个问题,请查看我下面的评论回复,我认为它应该能更好地解释它。