如何在Dojo中迭代对象(关联数组)?

如何在Dojo中迭代对象(关联数组)?,dojo,Dojo,Dojo是否有一个类似于jQuery的each()的方法,允许您传递对象进行迭代jQuery.each()允许您传递数组或对象。在后一种情况下,回调函数接收键和值。在Dojo中是否有允许您这样做的功能?看起来您正在寻找dojox.lang.functional.object.forIn dojo参考中没有实际的文档页面,本文中只有一个小示例: 模块dojox.lang.functional.object定义了重要的对象帮助程序: df.forIn(object, callback[, thisO

Dojo是否有一个类似于jQuery的
each()
的方法,允许您传递对象进行迭代
jQuery.each()
允许您传递数组或对象。在后一种情况下,回调函数接收键和值。在Dojo中是否有允许您这样做的功能?

看起来您正在寻找
dojox.lang.functional.object.forIn

dojo参考中没有实际的文档页面,本文中只有一个小示例:

模块dojox.lang.functional.object定义了重要的对象帮助程序:

df.forIn(object, callback[, thisObject])
如果您反对使用该模块,您也可以轻松制作自己的变体:

函数对象(对象、f、范围){
for(obj中的var键){
if(对象hasOwnProperty(键)){
f、 调用(范围、对象[键]、键);
}
}
}

对于数组,基本库中已经有dojo.forEach()。

嘿,是你!谢谢你给我指点dojo irc频道。我想这就是我要找的。为什么它隐藏在dojox的深处?应该是核心的一部分,你不觉得吗?那个模块有一些额外的功能,所以你可以用字符串代替函数等等。基本forEach和custm函数(我使用的)只接收普通函数。这有点旧,但我正在回答@Sam007问题以供将来参考,
forIn
不检查
hasOwnProperty(key)
而是检查
!(输入empty)
where
empty={}
()它(总是)不一样,取决于你的对象,它可能做你想做的事,也可能不做你想做的事。谢谢@gonz。我确实意识到,
forIn
不支持
hasOwnProperty
,但不确定原因。这helps@WebDevie当前位置链接已损坏。我检查了,函数仍然在1.9中的相同位置(dojox/lang/functional),但它们显然改变了处理永久链接的方式,所以我不知道如何修复它。如果有人能帮我,我会很感激的。