6
Dojo是否有类似于jQuery的each()
的方法,允许您传递一个对象来迭代? jQuery.each()
允许您传递数组或对象。在后一种情况下,回调函数接收一个键和值。有什么可以让你在Dojo中做到这一点吗?如何迭代Dojo中的对象(关联数组)?
Dojo是否有类似于jQuery的each()
的方法,允许您传递一个对象来迭代? jQuery.each()
允许您传递数组或对象。在后一种情况下,回调函数接收一个键和值。有什么可以让你在Dojo中做到这一点吗?如何迭代Dojo中的对象(关联数组)?
看起来你正在寻找dojox.lang.functional.object.forIn
。
有在道场引用没有实际文档页面,只有在文章Functional fun in JavaScript with Dojo一个小例子:
模块dojox.lang.functional.object定义重要对象助手:
df.forIn(object, callback[, thisObject])
如果你有什么反对使用该模块,你也可以轻松地制作自己的变体:
function objEach(obj, f, scope){
for(var key in obj){
if(obj.hasOwnProperty(key)){
f.call(scope, obj[key], key);
}
}
}
对于数组,基本库中已经有dojo.forEach()。
嘿,是你!感谢您指点我的道场irc频道。我想这是我正在寻找的。为什么它在dojox中隐藏得如此之深?应该真的成为核心的一部分,你不觉得吗? – mydoghasworms
该模块具有一些额外的功能,因此您可以使用字符串而不是函数等。每个基础和custm-function(我使用)都只是接受普通的函数。 – hugomg
'forIn'做了'hasOwnProperty()'检查吗? – Sam007