我应该如何循环和;“关联对象”;用javascript?
我有一个对象我应该如何循环和;“关联对象”;用javascript?,javascript,for-loop,Javascript,For Loop,我有一个对象this.themeData类似的东西(显示控制台输出) 我这样循环: for (attrName in this.themeData) { attrData = this.themeData[attrName]; if (attrData.selector && attrData.value) { $(".SomeSelector").css(attrData.property, attrData.va
this.themeData
类似的东西(显示控制台输出)
我这样循环:
for (attrName in this.themeData) {
attrData = this.themeData[attrName];
if (attrData.selector && attrData.value) {
$(".SomeSelector").css(attrData.property, attrData.value);
}
}
这是可行的,但我在最近的一篇文章中看到,我不应该在中使用
。但是,如果索引不是for(var I=0;Ifor)的数值,如何循环呢?。在对象的循环中,只需使用hasOwnProperty()检查对它们进行筛选
在对象上的循环中,可以使用..,只需使用hasOwnProperty()检查对其进行过滤即可
在我看来,使用for…in
方法是可以的,只需确保检查您要查找的属性不是来自原型链的某个位置
var foo = Object();
for(item in foo) {
if(foo.hasOwnProperty(item) {
alert(item); // The key
alert(foo[item]); // The value.
}
}
如果您不检查hasOwnProperty
,您将得到从Object
继承的属性,使用for…in
方法在我看来很好,只要确保检查您要查找的属性不是来自原型链的某个位置
var foo = Object();
for(item in foo) {
if(foo.hasOwnProperty(item) {
alert(item); // The key
alert(foo[item]); // The value.
}
}
如果不勾选hasOwnProperty
,您将得到继承自Object
的属性。似乎您没有阅读另一个问题中的全部答案……它详细描述了如何在对象上迭代以及什么是gotchas。这些答案中提到的所有内容都在这里(关于hasOwnProperty
)的用法在这里也有更详细的解释。你似乎没有阅读另一个问题的完整答案……它详细地描述了如何迭代对象以及什么是gotchas。这些答案中提到的一切(使用hasOwnProperty
)也有更详细的解释。
var foo = Object();
for(item in foo) {
if(foo.hasOwnProperty(item) {
alert(item); // The key
alert(foo[item]); // The value.
}
}